zepto是一个移动端的框架,语法几乎跟jQuery一样,但是因为移动端模块化开发的思想所以zepto较多的应用于移动端,节省移动端的流量,虽然现在4G时代的到来,流量的价格很便宜,但是zepto对于移动端有着很好的SEO优化效果!
那么我们就开始这个轮播图的实现,前面的博客中,轮播图的思路已经有了我们这里主要是熟悉zepto的语法和一些使用时的注意事项!
首先导包,模块化开发就是你需要什么包就导入什么包
接下来就是html代码
接下来是css代码
.jd_banner .banner_imgs {
width: 1000%;
transform: translateX(-10%);
transition: all .3s;
}
.jd_banner .banner_imgs li {
width: 10%;
}
.jd_banner .banner_imgs li a {
display: block;
width: 100%;
}
.jd_banner .banner_imgs li a img {
width: 100%;
display: block;
}
.jd_banner .banner_index {
position: absolute;
bottom: 5px;
left: 50%;
margin-left: -48px;
}
.jd_banner .banner_index li {
/* 所有li的通用样式 */
width: 6px;
height: 6px;
border-radius: 3px;
border: 1px solid white;
margin: 0 3px;
}
.jd_banner .banner_index li.current {
/*当li标签 拥有 .current的时候 会使用该样式 */
background-color: white;
}
最后是js额代码 【zepto实现移动端轮播图】
//别忘记写入口函数
$(function(){
//自动轮播
//第一步获取一些必要的值比如说索引,屏幕宽度,移动的ul
//和下面小圆点的index
var index=1;
var width=$('body').width();
var moveUl=$('.banner_imgs');
var index_li=$('.banner_index li');
//封装ul移动的方法
var animateMoveUl=function(){
moveUl.animate({
"transform":"translate("+index*width*-1+"px)"
},300,"ease",function() {
if(index>=9){
index=1;
moveUl.css({"transiton":"none","transform":"translate("+index*width*-1+"px)"});
}else if(index<=0){
index=8;
moveUl.css({"transiton":"none","transform":"translate("+index*width*-1+"px)"});
}
//修改index的值
index_li.removeClass('current').eq(index-1).addClass('current');
//判断timeId的值如果为undefined说明我们干掉了计时器这是要重新开启定时器
if(timeId==undefined){
timeId = setInterval(function(){
index++;
animateMoveUl();
},1000);
}
});
};
//定时器自动轮播
var timeId=setInterval(function(){
//对index进行累加
index++;
//调用移动ul的方法
animateMoveUl();
},1000);
//左右滑动的右滑动
moveUl.swipeRight(function(){
clearInterval(timeId);
//这里要记住尽管计时器清楚了但是timeId一直都在
timeId=undefined;
index--;
//调用移动ul的方法
animateMoveUl();
});
moveUl.swipeLeft(function(){
clearInterval(timeId);
//这里要记住尽管计时器清楚了但是timeId一直都在
timeId=undefined;
index++;
//调用移动ul的方法
animateMoveUl();
});
});
推荐阅读
- JavaScript|web前端入门到实战(好用的Js图表库)
- 接口访问加密方式
- 实用技术|Chrome 技术篇-常用web调试手法(清除缓存并硬性重新加载)
- 有关easyUI的拖动操作中droppable,draggable用法例子
- web前端|CSS科技感四角边框
- ColorBox 演示和说明/API
- SUI 列表 底部无限滚动
- js把时间戳转化为时间
- js jq获取标签的各种方式整理
- WEB前端|用HTML5canvas绘制一个圆环形的进度表示