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 相关文章推荐
extjs中grid中嵌入动态combobox的应用
Jan 01 Javascript
HTML Color Picker(js拾色器效果)
Aug 27 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
May 12 Javascript
JQuery动态添加和删除表格行的方法
Mar 09 Javascript
简介JavaScript中的setDate()方法的使用
Jun 11 Javascript
使用Promise解决多层异步调用的简单学习心得
May 17 Javascript
AngularJs基于角色的前端访问控制的实现
Nov 07 Javascript
微信小程序手势操作之单触摸点与多触摸点
Mar 10 Javascript
微信小程序实现图片轮播及文件上传
Apr 07 Javascript
Grunt针对静态文件的压缩,版本控制打包的实例讲解
Sep 29 Javascript
让axios发送表单请求形式的键值对post数据的实例
Aug 11 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
Feb 27 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 魔术函数使用说明
2010/05/14 PHP
PHP实现删除非站内外部链接实例代码
2014/06/17 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
php数组转成json格式的方法
2015/03/09 PHP
基于ThinkPHP实现批量删除
2015/12/18 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
Laravel 队列使用的实现
2019/01/08 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
jquery 防止表单重复提交代码
2010/01/21 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
Jquery easyui开启行编辑模式增删改操作
2016/01/14 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
使用Vue-cli 3.0搭建Vue项目的方法
2018/06/07 Javascript
解决Vue 项目打包后favicon无法正常显示的问题
2018/09/01 Javascript
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
使用vue-cli4.0快速搭建一个项目的方法步骤
2019/12/04 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
Python的Django中django-userena组件的简单使用教程
2015/05/30 Python
python控制台中实现进度条功能
2015/11/10 Python
Unicode和Python的中文处理
2017/03/19 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
如何不用安装python就能在.NET里调用Python库
2019/07/12 Python
np.random.seed() 的使用详解
2020/01/14 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
html5指南-6.如何创建离线web应用程序实现离线访问
2013/01/07 HTML / CSS
如何在C# winform中异步调用web services
2015/09/21 面试题
文明家庭先进事迹材料
2014/05/14 职场文书
市场营销策划方案
2014/06/11 职场文书
教师党员个人自我评价
2015/03/04 职场文书