jquery实现左右无缝轮播图


Posted in Javascript onJuly 31, 2020

本文实例为大家分享了jquery无缝轮播图的实现代码,供大家参考,具体内容如下

<title>无缝轮播图</title>
 <style>
 *{margin: 0;padding:0; }
 ul{list-style: none;}
 .banner{width: 600px;height: 300px;border: 2px solid #ccc;margin: 100px auto;position: relative;overflow: hidden;}
 .img{position: absolute;top: 0;left: 0}
 .img li{float: left;}
 .num{position: absolute;bottom: 10px;width: 100%;text-align: center;font-size: 0;}
 .num li{width: 10px;height: 10px;background:rgba(0,0,0,0.5);display: block;border-radius: 100%;display: inline-block;margin: 0 5px;cursor: pointer;}
 .btn{display: none;}
 .btn span{display: block;width: 50px;height: 100px;background: rgba(0,0,0,0.6);color: #fff;font-size: 40px;line-height: 100px;text-align: center;cursor:pointer;}
 .btn .prev{position: absolute;left: 0;top: 50%;margin-top: -50px;}
 .btn .next{position: absolute;right: 0;top: 50%;margin-top: -50px;}
 .num .active{background-color: #fff;}
 </style>
 <script src="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
<body>
<div class="banner">
 <ul class="img">
 <li><a href="#"><img src="img/1.jpg" alt="第1张图片"></a></li>
 <li><a href="#"><img src="img/2.jpg" alt="第2张图片"></a></li>
 <li><a href="#"><img src="img/3.jpg" alt="第3张图片"></a></li>
 <li><a href="#"><img src="img/4.jpg" alt="第4张图片"></a></li>
 <li><a href="#"><img src="img/5.jpg" alt="第5张图片"></a></li>
 </ul>
 <ul class="num"></ul> //
 <div class="btn">
 <span class="prev"><</span>
 <span class="next">></span>
 </div>
 
</div>
 
<script>
 
 $(function(){
 
 var i=0;
 var timer=null;
 for (var j = 0; j < $('.img li').length; j++) { //创建圆点
 $('.num').append('<li></li>')
 }
 $('.num li').first().addClass('active'); //给第一个圆点添加样式
 
 var firstimg=$('.img li').first().clone(); //复制第一张图片
 $('.img').append(firstimg).width($('.img li').length*($('.img img').width())); //将第一张图片放到最后一张图片后,设置ul的宽度为图片张数*图片宽度
 
 
 // 下一个按钮
 $('.next').click(function(){
 i++;
 if (i==$('.img li').length) {
 i=1; //这里不是i=0
 $('.img').css({left:0}); //保证无缝轮播,设置left值
 };
 
 $('.img').stop().animate({left:-i*600},300);
 if (i==$('.img li').length-1) { //设置小圆点指示
 $('.num li').eq(0).addClass('active').siblings().removeClass('active');
 }else{
 $('.num li').eq(i).addClass('active').siblings().removeClass('active');
 }
 
 })
 
 // 上一个按钮
 $('.prev').click(function(){
 i--;
 if (i==-1) {
 i=$('.img li').length-2;
 $('.img').css({left:-($('.img li').length-1)*600});
 }
 $('.img').stop().animate({left:-i*600},300);
 $('.num li').eq(i).addClass('active').siblings().removeClass('active');
 })
 
 //设置按钮的显示和隐藏
 $('.banner').hover(function(){
 $('.btn').show();
 },function(){
 $('.btn').hide();
 })
 
 //鼠标划入圆点
 $('.num li').mouseover(function(){
 var _index=$(this).index();
 $('.img').stop().animate({left:-_index*600},150);
 $('.num li').eq(_index).addClass('active').siblings().removeClass('active');
 })
 
 //定时器自动播放
 timer=setInterval(function(){
 i++;
 if (i==$('.img li').length) {
 i=1;
 $('.img').css({left:0});
 };
 
 $('.img').stop().animate({left:-i*600},300);
 if (i==$('.img li').length-1) { 
 $('.num li').eq(0).addClass('active').siblings().removeClass('active');
 }else{
 $('.num li').eq(i).addClass('active').siblings().removeClass('active');
 }
 },1000)
 
 //鼠标移入,暂停自动播放,移出,开始自动播放
 $('.banner').hover(function(){ 
 clearInterval(timer);
 },function(){
 timer=setInterval(function(){
 i++;
 if (i==$('.img li').length) {
 i=1;
 $('.img').css({left:0});
 };
 
 $('.img').stop().animate({left:-i*600},300);
 if (i==$('.img li').length-1) { 
 $('.num li').eq(0).addClass('active').siblings().removeClass('active');
 }else{
 $('.num li').eq(i).addClass('active').siblings().removeClass('active');
 }
 },1000)
 })
 
 })
</script>

精彩专题分享:jQuery图片轮播 JavaScript图片轮播 Bootstrap图片轮播

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
幻灯片带网页设计中的20个奇妙应用示例小结
May 27 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
Jul 05 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
jQuery使用$.ajax提交表单完整实例
Dec 11 Javascript
JS实现页面数据无限加载
Sep 13 Javascript
PHP+jquery+ajax实现分页
Dec 09 Javascript
JS实现touch 点击滑动轮播实例代码
Jan 19 Javascript
ES6新数据结构Set与WeakSet用法分析
Mar 31 Javascript
JS 数组随机洗牌的实例代码
Sep 12 Javascript
JS使用栈判断给定字符串是否是回文算法示例
Mar 04 Javascript
详解vue beforeEach 死循环问题解决方法
Feb 25 Javascript
详解vue路由
Aug 05 Javascript
node.js从数据库获取数据
May 08 #Javascript
JavaScript希尔排序、快速排序、归并排序算法
May 08 #Javascript
基于jquery实现最简单的选项卡切换效果
May 08 #Javascript
基于javascript实现图片滑动效果
May 07 #Javascript
基于jquery实现图片放大功能
May 07 #Javascript
基于bootstrap插件实现autocomplete自动完成表单
May 07 #Javascript
javascript表单处理具体实现代码(表单、链接、按钮)
May 07 #Javascript
You might like
冰滴咖啡制作步骤
2021/03/03 冲泡冲煮
PHP中fwrite与file_put_contents性能测试代码
2013/08/02 PHP
php删除文本文件中重复行的方法
2015/04/28 PHP
php模板引擎技术简单实现
2016/03/15 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
jquery下将选择的checkbox的id组成字符串的方法
2010/11/28 Javascript
javascript中的作用域scope介绍
2010/12/28 Javascript
JSONP 跨域共享信息
2012/08/16 Javascript
实现动画效果核心方式的js代码
2013/09/27 Javascript
NodeJS中利用Promise来封装异步函数
2015/02/25 NodeJs
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
JS实现非首屏图片延迟加载的示例
2018/01/06 Javascript
jQuery 实现倒计时天,时,分,秒功能
2018/07/31 jQuery
微信小程序实现获取用户信息并存入数据库操作示例
2019/05/07 Javascript
JavaScript使用prototype属性实现继承操作示例
2020/05/22 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
vue二选一tab栏切换新做法实现
2021/01/19 Vue.js
python实现2014火车票查询代码分享
2014/01/10 Python
python类参数self使用示例
2014/02/17 Python
Python装饰器使用实例:验证参数合法性
2015/06/24 Python
python3.4用函数操作mysql5.7数据库
2017/06/23 Python
python实现求特征选择的信息增益
2018/12/18 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
python使用Matplotlib改变坐标轴的默认位置
2019/10/18 Python
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
校园活动策划书范文
2014/01/10 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
2019暑假学生安全口号
2019/06/27 职场文书
k-means & DBSCAN 总结
2021/04/27 Python