优秀的编程知识分享平台

网站首页 > 技术文章 正文

jq给大家手撸一个swiper轮播(swiper3实现视频与图片轮播)

nanyue 2024-09-11 05:26:10 技术文章 4 ℃

大家写轮播可能更多的用插件和一些ui库,对于轮播具体是怎么实现的却没有深究过。今天带大家来感受一下自己写轮播不一样的思维。

首先第一步。获取服务端给的图片数据。

这个是通过axios或者ajax通过接口获取的,就不一一述说了。 拿到图片数据。

['微信图片_20220308173249.jpg', '微信图片_20220425172701.png', '微信图片_20220427111835.jpg']
复制代码

第二步 循环渲染到界面

function showSwiper () {
	var s = '';
	var btn = '';
	$.each(data, function (idata, dataobj) {
	if(idata === pageparam.curent) {
	s += `<img class = "elementToFadeInAndOut"    src="/image/${pageparam.tpdir}/${dataobj}"style="width:100%;height:100%;object-fit: cover;" alt="" srcset="" ">`;
	btn += `<a href="#" style="width: 20px;height: 20px;text-align: center;line-height: 20px;font-size: 12px;color: #fff;background: #007aff;border-radius: 50%;margin:0 4px;" onclick = "tabFn(${idata})">${idata}</a>`
	}else{
	s += `<img class = "elementToFadeInAndOut" src="/image/${pageparam.tpdir}/${dataobj}" style="width:100%;height:100%;display:none;object-fit: cover;" alt="" srcset="" ">`;
	btn += `<a href="#" style="width: 20px;height: 20px;text-align: center;line-height: 20px;font-size: 12px;color: #000;background: rgba(0, 0, 0, 0.2);border-radius: 50%;margin:0 4px;"  onclick = "tabFn(${idata})" >${idata}</a>`
				}
			});
	$('#swiperlist').html(s);
	$('#swiperbtn').html(btn);
		}
复制代码

第三步 写切换按钮事件

function tabFn (index) {
	if(index !== pageparam.curent) {
		pageparam.curent = index;
		showSwiper();
	}
}
复制代码

第三步 写前一张,后一张按钮事件

function prevFn () {
	if(pageparam.curent > 0) {
		pageparam.curent --;
		showSwiper()
	}
}

function nextFn () {
	if(pageparam.curent < data.length-1) {
		pageparam.curent ++ ;
		showSwiper()
			}
	}
复制代码

总结一下,我这边总的思路是拿到图片数据,渲染视图,渲染视图的同时给img激活样式,动画以及切换btn添加点击事件和激活样式。然后切换的时候重新渲染dom,next和prev的时候重新渲染dom。 最后来张图。

Tags:

最近发表
标签列表