jQuery焦点图轮播效果实现方法


Posted in Javascript onDecember 19, 2016

本文实例讲述了jQuery焦点图轮播效果实现方法。分享给大家供大家参考,具体如下:

前面一篇《JS实现焦点图轮播效果的方法详解》详细介绍了JS实现焦点图轮播效果的步骤,这里来分析一下jQuery的相关实现技巧。

核心代码如下:

$(function(){
  var $next=$(".right");
  var $prev=$(".left");
  var $list_num=$(".list-num a");
  var $banner=$(".banner");
  var $list_banner=$(".list-banner");
  var index=1;
  var timer;
  var $list_img_f=$(".list-banner li:first");
  var $list_img_l=$(".list-banner li:last");
  $list_img_f.clone(true).appendTo($list_banner);
  $list_img_l.clone(true).prependTo($list_banner);
  function showDot($obj){
    $obj.addClass("hover").siblings().removeClass("hover");
  }
  function startMove(i){
    $list_banner.stop().animate({left:-i*624},300,function(){
      if(i<1){
        showDot($list_num.eq(3));
      }
      else if(i>4){
        showDot($list_num.eq(0));
      }
      else{
        showDot($list_num.eq(i-1));
      }
      if(i<1){
        $list_banner.css("left",-2496);
        index=4;
      }
      else if(i>4){
        $list_banner.css("left",-624);
        index=1;
      }
    });
  }
  function autoPlay(){
    timer=setInterval(function(){
      $next.click();
    },2000);
  }
  autoPlay();
  $next.click(function(){
    if(!$list_banner.is(":animated")){ //如果先index++再执行startMove(index);会有点问题,点的快某个点会跳过
      startMove(++index);
    }
  });
  $prev.click(function(){
    if(!$list_banner.is(":animated")){
      startMove(--index);
    }
  });
  $list_num.click(function(){
    var i=$(this).index()+1;
    index=i;
    startMove(i);
  });
});

和js的区别:用.animate()方法代替js里要算的速度,每次滑行距离以及定时器setTimeout

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
提高 DHTML 页面性能
Dec 25 Javascript
javascript实现瀑布流加载图片原理
Feb 02 Javascript
JS中作用域和变量提升(hoisting)的深入理解
Oct 31 Javascript
利用JavaScript实现拖拽改变元素大小
Dec 14 Javascript
angular2+node.js express打包部署的实战
Jul 27 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
Jan 24 Javascript
代码详解JS操作剪贴板
Feb 11 Javascript
AngularJS动态添加数据并删除的实例
Feb 27 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
Jan 20 Javascript
vue中typescript装饰器的使用方法超实用教程
Jun 17 Javascript
JavaScript实现轮播图特效
Apr 10 Javascript
vue3中provide && inject的使用
Jul 01 Vue.js
JS实现焦点图轮播效果的方法详解
Dec 19 #Javascript
jQuery拖拽通过八个点改变div大小
Nov 29 #Javascript
jQuery网页定位导航特效实现方法
Dec 19 #Javascript
关于微信上网页图片点击全屏放大效果
Dec 19 #Javascript
详解jQuery lazyload 懒加载
Dec 19 #Javascript
JS实现滑动门效果的方法详解
Dec 19 #Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 #Javascript
You might like
计数器详细设计
2006/10/09 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
php 文件缓存函数
2011/10/08 PHP
PHP生成压缩文件实例
2015/02/07 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
Laravel框架搜索分页功能示例
2019/02/01 PHP
js压缩利器
2007/02/20 Javascript
jQuery中创建实例与原型继承揭秘
2011/12/21 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
jQuery动态加载css文件实现方法
2016/06/15 Javascript
阿里云ecs服务器中安装部署node.js的步骤
2016/10/08 Javascript
vue.js $refs和$emit 父子组件交互的方法
2017/12/20 Javascript
详解ajax的data参数错误导致页面崩溃
2018/04/30 Javascript
element-ui 表格数据时间格式化的方法
2018/08/24 Javascript
jQuery实现的自定义轮播图功能详解
2018/12/28 jQuery
[03:34]2014DOTA2西雅图国际邀请赛 淘汰赛7月15日TOPPLAY
2014/07/15 DOTA
[41:37]DOTA2北京网鱼队选拔赛——冲击职业之路
2015/04/13 DOTA
测试、预发布后用python检测网页是否有日常链接
2014/06/03 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
python中cPickle类使用方法详解
2018/08/27 Python
python使用pip安装SciPy、SymPy、matplotlib教程
2019/11/20 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
CSS3中的clip-path使用攻略
2015/08/03 HTML / CSS
OPPO手机官方商城:中国手机市场出货量第一品牌
2017/10/18 全球购物
内部类的定义、种类以及优点
2013/10/16 面试题
幼儿园园长自我鉴定
2013/10/22 职场文书
报关报检委托书
2014/04/08 职场文书
三八节标语
2014/06/27 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript