jQuery带控制按钮轮播图插件


Posted in jQuery onJuly 31, 2020

带控制按钮(点击移动到指定图片)的jQuery轮播图插件

效果图

当点击下方按钮时,轮播动画会停止,按钮所对应的图片在规定时间范围内移动出现,这一动作结束后再从当前图片开始继续轮播动画

jQuery带控制按钮轮播图插件

$.fn.slider = function(){
 
  //轮播图变量
  var $ul =this; //在jQuery原型方法中,this就指的调用该方法的jQuery对象
  var $lis = $ul.children();//返回所有的直接子标签
  var imgwidth = $lis.width();
  //设置列表的宽度
  $ul.width(imgwidth*$lis.size());//size获取元素的个数
  //获取所有的方块按钮
  var $buttons = $('.nav li');
  console.log($buttons)
  console.log($lis.size())
  //设置下标
  var index =0;//当前图片和按钮下标
  var timer = -1;//用于保存定时器id,方便停止


  //调用延时定时器
  timer= setTimeout(move,2000);//间隔2s移动一次图片
  //处理图片列表移动,以及使用延时定时器来模拟间隔定时器
  function move(){
   //获取ul当前的margin-left
  var left =parseInt( $ul.css('margin-left'));
  //当ul列表移动到最后一张时,直接设置margin-left=0px,否则继续移动
  if(left>(-1)*(imgwidth*($lis.size()-1))){
   $ul.animate({'margin-left':`-=${imgwidth}px`},1500);
   index++;//当前下标加1
   }else{
   $ul.css('margin-left','0px');
   index=0;//下标为0
   }
   //根据index来设置按钮样式
   //如果是最后一张,那么提前回到第一张
   if(index <$buttons.size()){
   $buttons.eq(index).addClass('active').siblings().removeClass('active');
   }else{
   $buttons.eq(0).addClass('active').siblings().removeClass('active');
   }
  timer = setTimeout(move,2000);
  }  
  // 点击按钮
  $buttons.click(function(){
   //$(this) 访问当前被点击的按钮
   var i = $(this).index();//获取被点击按钮的下标
   if(i==index){
   return;//提前终止
   }
   //停止未执行的定时器
   if(timer!=-1){
   clearTimeout(timer);
   }  
   //移动之前把未执行的动画暂停掉
   $ul.stop(); 
   //移动
   $ul.animate({'margin-left':`-${i*imgwidth}px`},1500,function(){
   timer = setTimeout(move,2000);
   });
   //移动之后改变按钮状态
   $buttons.eq(i).addClass('active').siblings().removeClass('active');
   // 更新当前图片下标
   index=i;
   
  });
}

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

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

jQuery 相关文章推荐
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 jQuery
jQuery日程管理控件glDatePicker用法详解
Mar 29 jQuery
jQuery实现简单的抽奖游戏
May 05 jQuery
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
jQuery插件Validation表单验证详解
May 26 jQuery
jQuery实现轮播图及其原理详解
Apr 12 jQuery
JavaScript实现的滚动公告特效【基于jQuery】
Jul 10 jQuery
jQuery实现推拉门效果
Oct 19 jQuery
jquery实现简单自动轮播图效果
Jul 29 #jQuery
jQuery+ThinkPHP实现图片上传
Jul 23 #jQuery
jquery实现简单拖拽效果
Jul 20 #jQuery
Jquery如何使用animation动画效果改变背景色的代码
Jul 20 #jQuery
jquery实现有过渡效果的tab切换
Jul 17 #jQuery
jQuery加PHP实现图片上传并提交的示例代码
Jul 16 #jQuery
jQuery 添加元素和删除元素的方法
Jul 15 #jQuery
You might like
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php实现zip压缩文件解压缩代码分享(简单易懂)
2014/05/10 PHP
Yii 2.0中场景的使用教程
2017/06/02 PHP
一个基于jquery的文本框记数器
2012/09/19 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
jQuery实现为图片添加镜头放大效果的方法
2015/06/25 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
javascript手风琴下拉菜单实现代码
2015/11/12 Javascript
javascript cookie的简单应用
2016/02/24 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
javascript读取文本节点方法小结
2016/12/15 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
写jQuery插件时的注意点
2017/02/20 Javascript
vue通过路由实现页面刷新的方法
2018/01/25 Javascript
JavaScript函数式编程(Functional Programming)组合函数(Composition)用法分析
2019/05/22 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
在主机商的共享服务器上部署Django站点的方法
2015/07/22 Python
利用python代码写的12306订票代码
2015/12/20 Python
详解Python多线程
2016/11/14 Python
python中import reload __import__的区别详解
2017/10/16 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
Python实现PS滤镜的旋转模糊功能示例
2018/01/20 Python
pytorch dataloader 取batch_size时候出现bug的解决方式
2020/02/20 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
python判断字符串以什么结尾的实例方法
2020/09/18 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
HTML5注册表单的自动聚焦与占位文本示例代码
2013/07/19 HTML / CSS
解释下面关于J2EE的名词
2013/11/15 面试题
新闻专业个人自我评价
2013/09/21 职场文书
社会学专业求职信
2014/02/24 职场文书
2014年民政局关于保密工作整改措施
2014/09/19 职场文书