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 相关文章推荐
List the Codec Files on a Computer
Jun 11 Javascript
javascript 多种搜索引擎集成的页面实现代码
Jan 02 Javascript
自己动手开发jQuery插件教程
Aug 25 Javascript
JavaScript 原型继承
Dec 26 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
Nov 27 Javascript
JavaScript内存管理介绍
Mar 13 Javascript
浅析JS运动
Dec 28 Javascript
JavaScript中日期函数的相关操作知识
Aug 03 Javascript
ES6学习之变量的两种命名方法示例
Jul 18 Javascript
ES6新特性:使用export和import实现模块化详解
Jul 31 Javascript
深入理解React中何时使用箭头函数
Aug 23 Javascript
Vue多组件仓库开发与发布详解
Feb 28 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实现天干地支计算器示例
2014/03/14 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
JavaScript While 循环基础教程
2007/04/05 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
js时间戳格式化成日期格式的多种方法
2013/11/11 Javascript
JavaScript原生对象之Number对象的属性和方法详解
2015/03/13 Javascript
JavaScript 浏览器对象模型BOM使用介绍
2015/04/13 Javascript
jQuery实现的网页右下角tab样式在线客服效果代码
2015/10/23 Javascript
纯JavaScript基于notie.js插件实现消息提示特效
2016/01/18 Javascript
jQuery插件 Jqplot图表实例
2016/06/18 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
2016/08/02 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
JS常见算法详解
2017/02/28 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
selenium+java中用js来完成日期的修改
2019/10/31 Javascript
JavaScript如何判断对象有某属性
2020/07/03 Javascript
[02:47]DOTA2英雄基础教程 野性怒吼兽王
2013/12/05 DOTA
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
python实现xlsx文件分析详解
2018/01/02 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
django-filter和普通查询的例子
2019/08/12 Python
英国珠宝钟表和家居礼品精品店:David Shuttle
2018/02/24 全球购物
比驿:全球酒店比价网
2018/06/20 全球购物
英国排名第一的停车场运营商:NCP
2019/08/26 全球购物
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
经贸日语专业个人求职信范文
2014/04/29 职场文书
2014年度安全生产目标管理责任书
2014/07/25 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
python 如何做一个识别率百分百的OCR
2021/05/29 Python
python异常中else的实例用法
2021/06/15 Python
Python实现单例模式的5种方法
2021/06/15 Python
一篇文章带你复习java知识点
2021/06/28 Java/Android