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 表单中textarea字数限制实现代码
Dec 07 Javascript
jQuery 连续列表实现代码
Dec 21 Javascript
JavaScript jQuery 中定义数组与操作及jquery数组操作
Dec 18 Javascript
node.js使用cluster实现多进程
Mar 17 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 Javascript
JS中传递参数的几种不同方法比较
Jan 20 Javascript
微信小程序分页加载的实例代码
Jul 11 Javascript
详解在express站点中使用ejs模板引擎
Sep 21 Javascript
Element input树型下拉框的实现代码
Dec 21 Javascript
jQuery Datatables 动态列+跨列合并实现代码
Jan 30 jQuery
javascript用defineProperty实现简单的双向绑定方法
Apr 03 Javascript
详解node.js 事件循环
Jul 22 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
PHP高自定义性安全验证码代码
2011/11/27 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
JavaScript时间转换处理函数
2015/04/14 Javascript
JS实现自动变化的导航菜单效果代码
2015/09/09 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
jQuery基本筛选选择器实例代码
2017/02/06 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
vue 1.x 交互实现仿百度下拉列表示例
2017/10/21 Javascript
vue实现nav导航栏的方法
2017/12/13 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
JavaScript数组特性与实践应用深入详解
2018/12/30 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
js如何验证密码强度
2020/03/18 Javascript
原生js实现html手机端城市列表索引选择城市
2020/06/24 Javascript
python中requests使用代理proxies方法介绍
2017/10/25 Python
Python面向对象思想与应用入门教程【类与对象】
2019/04/12 Python
Python判断对象是否为文件对象(file object)的三种方法示例
2019/04/26 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
python内存动态分配过程详解
2019/07/15 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
Pytorch之contiguous的用法
2019/12/31 Python
python实现每天自动签到领积分的示例代码
2020/08/18 Python
国外平面设计素材网站:The Hungry JPEG
2017/03/28 全球购物
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
施工人员岗位职责
2013/12/12 职场文书
高二美术教学反思
2014/01/14 职场文书
小学校园活动策划
2014/01/30 职场文书
《童年》教学反思
2014/02/18 职场文书
办公设备采购方案
2014/03/16 职场文书
上课说话检讨书500字
2014/11/01 职场文书
pytorch中F.avg_pool1d()和F.avg_pool2d()的使用操作
2021/05/22 Python
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL