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 相关文章推荐
激活 ActiveX 控件
Oct 09 Javascript
javascript xml为数据源的下拉框控件
Jul 07 Javascript
Js点击弹出下拉菜单效果实例
Aug 12 Javascript
使用非html5实现js板连连看游戏示例代码
Sep 22 Javascript
Node.js和PHP根据ip获取地理位置的方法
Mar 14 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
js使用Array.prototype.sort()对数组对象排序的方法
Jan 28 Javascript
JavaScript中数据结构与算法(四):串(BF)
Jun 19 Javascript
使用AngularJS实现可伸缩的页面切换的方法
Jun 19 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
Dec 14 Javascript
webpack+react+antd脚手架优化的方法
Apr 02 Javascript
Vue实现页面添加水印功能
Nov 09 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警告错误信息的解决方法
2013/06/03 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
2013/06/17 PHP
PHP中的事务使用实例
2015/05/26 PHP
php线性表的入栈与出栈实例分析
2015/06/12 PHP
Joomla语言翻译类Jtext用法分析
2016/05/05 PHP
php7函数,声明,返回值等新特性介绍
2018/05/25 PHP
如何在MVC应用程序中使用Jquery
2014/11/17 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
2015/03/03 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
2019/06/07 Javascript
微信小程序关键字变色实现代码实例
2019/12/13 Javascript
axios如何取消重复无用的请求详解
2019/12/15 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
Express 配置HTML页面访问的实现
2020/11/01 Javascript
在Python的Flask框架中验证注册用户的Email的方法
2015/09/02 Python
python 把文件中的每一行以数组的元素放入数组中的方法
2018/04/29 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
python控制nao机器人身体动作实例详解
2019/04/29 Python
python中正则表达式与模式匹配
2019/05/07 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
详解PyCharm安装MicroPython插件的教程
2019/06/24 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
python实现简单文件读写函数
2021/02/25 Python
CSS3弹性盒模型开发笔记(二)
2016/04/26 HTML / CSS
html5使用canvas画三角形
2014/12/15 HTML / CSS
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
介绍一下grep命令的使用
2012/06/28 面试题
某公司部分笔试题
2013/11/05 面试题
个人求职简历中英文自我评价
2013/12/16 职场文书
单位消防安全制度
2014/01/12 职场文书
大学生冰淇淋店商业计划书
2014/01/14 职场文书
公司户外活动总结
2014/07/04 职场文书
苏州园林导游词
2015/02/03 职场文书
遗愿清单观后感
2015/06/09 职场文书
HR必备:超全面的薪酬待遇管理方案!
2019/07/12 职场文书