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 相关文章推荐
jQuery Tools tab使用介绍
Jul 14 Javascript
Jquery网页内滑动缓冲导航的实现代码
Apr 05 Javascript
详解javascript遍历方式
Nov 11 Javascript
jQuery qrcode生成二维码的方法
Apr 03 Javascript
Treegrid的动态加载实例代码
Apr 29 Javascript
详细分析Javascript中创建对象的四种方式
Aug 17 Javascript
原生js实现返回顶部缓冲效果
Jan 18 Javascript
js转换对象为xml
Feb 17 Javascript
javascript 中select框触发事件过程的分析
Aug 01 Javascript
JS引用传递与值传递的区别与用法分析
Jun 01 Javascript
angular 服务随记小结
May 06 Javascript
新手入门js闭包学习过程解析
Oct 08 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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
php中eval函数的危害与正确禁用方法
2014/06/30 PHP
VB中的RasEnumConnections函数返回632错误解决方法
2014/07/29 PHP
Yii核心验证器api详解
2016/11/23 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
JS 自动安装exe程序
2008/11/30 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
浅谈Javascript中的Label语句
2016/12/14 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
jquery点赞功能实现代码 点个赞吧!
2020/05/29 jQuery
基于iScroll实现内容滚动效果
2018/03/21 Javascript
详解JavaScript 中 if / if...else...替换方式
2018/07/15 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
[01:02:18]VGJ.S vs infamous Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
python 文件与目录操作
2008/12/24 Python
浅谈Python NLP入门教程
2017/12/25 Python
Django实现将一个字典传到前端显示出来
2020/04/03 Python
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
土木建筑学生自我评价
2014/01/14 职场文书
咖啡蛋糕店创业计划书
2014/01/28 职场文书
《小山羊和小灰兔》教学反思
2014/02/19 职场文书
计算机科学技术自荐信
2014/06/12 职场文书
2014年秋季开学寄语
2014/08/02 职场文书
街道社区活动报告
2015/02/05 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
小学中队活动总结
2015/05/11 职场文书
员工给公司的建议书
2019/06/24 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
jQuery实现广告显示和隐藏动画
2021/07/04 jQuery
解决Git推送错误non-fast-forward的方法
2022/06/25 Servers