jQuery实现大图轮播


Posted in Javascript onFebruary 13, 2017

css样式:

*{
 margin: 0;
 padding: 0;
}
ul{
 list-style:none;
}
.slideShow{
 width: 620px;
 height: 700px; /*其实就是图片的高度*/
 border: 1px #eeeeee solid;
 margin: 100px auto;
 position: relative;
 overflow: hidden; /*此处需要将溢出框架的图片部分隐藏*/
}
.slideShow ul{
 width: 2500px;
 position: relative; /*此处需注意relative : 对象不可层叠,但将依据left,right,top,bottom等属性在正常文档流中偏移位置,如果没有这个属性,图片将不可左右移动*/
}
.slideShow ul li{
 float: left; /*让四张图片左浮动,形成并排的横着布局,方便点击按钮时的左移动*/
 width: 620px;
}
.slideShow .showNav{ /*用绝对定位给数字按钮进行布局*/
 position: absolute;
 right: 10px;
 bottom: 5px;
 text-align:center;
 font-size: 12px; 
 line-height: 20px;
}
.slideShow .showNav span{
 cursor: pointer;
 display: block;
 float: left;
 width: 20px;
 height: 20px;
 background: #ff5a28;
 margin-left: 2px;
 color: #fff;
}
.slideShow .showNav .active{
 background: #b63e1a;
}

js代码规范:

<script src="../../../jQuery/js/jquery-2.1.4.js"></script> <script type="text/javascript">
$(document).ready(function(){ 
var slideShow=$(".slideShow"),  //获取最外层框架的名称 
ul=slideShow.find("ul"), 
showNumber=slideShow.find(".showNav span"),   //获取按钮 
oneWidth=slideShow.find("ul li").eq(0).width();   //获取每个图片的宽度 
var timer=null;   //定时器返回值,主要用于关闭定时器 
var iNow=0;   //iNow为正在展示的图片索引值,当用户打开网页时首先显示第一张图,即索引值为0 
showNumber.on("click",function(){    //为每个按钮绑定一个点击事件  
$(this).addClass("active").siblings().removeClass("active");  //按钮点击时为这个按钮添加高亮状态,并且将其他按钮高亮状态去掉 
var index=$(this).index();    //获取哪个按钮被点击,也就是找到被点击按钮的索引值 
iNow=index; 
ul.animate({ "left":-oneWidth*iNow,  //注意此处用到left属性,所以ul的样式里面需要设置position: relative; 让ul左移N个图片大小的宽度,N根据被点击的按钮索引值iNOWx确定 
 }) 
 }); 
 function autoplay(){ 
timer=setInterval(function(){   //打开定时器 
iNow++;     //让图片的索引值次序加1,这样就可以实现顺序轮播图片 
 if(iNow>showNumber.length-1){   //当到达最后一张图的时候,让iNow赋值为第一张图的索引值,轮播效果跳转到第一张图重新开始 
iNow=0; } 
showNumber.eq(iNow).trigger("click");   //模拟触发数字按钮的click 

},2000);     //2000为轮播的时间
} 
 autoplay(); 
 slideShow.hover( function(){clearInterval(timer);},autoplay); 另外注意setInterval的用法比较关键。
})
</script>

主体代码:

<body>
 <div class="slideShow">
 <!--图片布局开始-->
 <ul>
 <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="images/view/111.jpg"/></a></li>
 <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="images/view/112.jpg" /></a></li>
 <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="images/view/113.jpg" /></a></li>
 <li><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" ><img src="images/view/114.jpg" /></a></li>
 </ul>
 <!--图片布局结束-->
 <!--按钮布局开始-->
 <div class="showNav">
 <span class="active">1</span>
 <span>2</span>
 <span>3</span>
 <span>4</span>
 </div>
 <!--按钮布局结束-->
 </div>
</body>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
Javascript 跨域访问解决方案
Feb 14 Javascript
Jquery在IE7下无法使用 $.ajax解决方法
Nov 11 Javascript
js实现进度条的方法
Feb 13 Javascript
基于javascript实现九宫格大转盘效果
May 28 Javascript
浅谈JavaScript的内置对象和浏览器对象
Jun 03 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
Aug 23 Javascript
vue.js实现简单轮播图效果
Oct 10 Javascript
React学习笔记之高阶组件应用
Jun 02 Javascript
vue列表单项展开收缩功能之this.$refs的详解
May 05 Javascript
详解基于Vue的支持数据双向绑定的select组件
Sep 02 Javascript
jQuery擦除插件eraser使用方法详解
Jan 11 jQuery
基于ajax实现上传图片代码示例解析
Dec 03 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
Feb 13 #Javascript
你真的了解BOM中的history对象吗
Feb 13 #Javascript
微信小程序-获得用户输入内容
Feb 13 #Javascript
js实现textarea限制输入字数
Feb 13 #Javascript
Canvas实现动态的雪花效果
Feb 13 #Javascript
JavaScript中从setTimeout与setInterval到AJAX异步
Feb 13 #Javascript
Bootstrap选项卡学习笔记分享
Feb 13 #Javascript
You might like
在php MYSQL中插入当前时间
2008/04/06 PHP
php 从数据库提取二进制图片的处理代码
2009/09/09 PHP
解析ajax事件的调用顺序
2013/06/17 PHP
ThinkPHP应用模式扩展详解
2014/07/16 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
js计算精度问题小结
2013/04/22 Javascript
JQuery表格内容过滤的实现方法
2013/07/05 Javascript
用jquery方法操作radio使其默认选项是否
2013/09/10 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
js判断手机端(Android手机还是iPhone手机)
2015/07/22 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
vue项目中仿element-ui弹框效果的实例代码
2019/04/22 Javascript
vue项目配置同一局域网可使用ip访问的操作
2020/10/23 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
Python 实现在文件中的每一行添加一个逗号
2018/04/29 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
电气自动化自荐信
2013/10/10 职场文书
水利水电建筑施工应届生求职信
2014/07/04 职场文书
项目委托协议书(最新)
2014/09/13 职场文书
大学生党员自我剖析材料
2014/10/06 职场文书
群众路线专项整治工作情况报告
2014/10/28 职场文书
求职自我推荐信
2015/03/24 职场文书