美文网首页
jQuery轮播图

jQuery轮播图

作者: 邵毅超 | 来源:发表于2018-12-10 18:51 被阅读0次

需求:使图片能够进行轮播滚动,到最后一张图片时返回第一张(或第一张向前到最后一张)。
思路:在两端的图片前后添加一个虚拟镜像,当切换到镜像时,返回到所对应的真实图片。


方案
1.通过浮动或绝对定位使图片水平排列。
2.页面打开后将图片的第一张与最后一张的克隆镜像分别放到最后一张的后面和第一张的前面。

4556297-59bd3bb5a755a919.png
$imgCt.append($img.first().clone());
$imgCt.prepend($img.last().clone());

3.当点击翻页按钮时,将图片整体向左(右)移动图片宽度的距离,并且对当前显示的图片位置进行判断,当移动到镜像位置时将镜像位置替换为实际图片位置。

function prePage(len){
  if(isAnimate) return;
  isAnimate = true;
  $imgCt.animate({
    left: "+=" + len*imgWidth
  }, 150, function(){
    pageIndex -= len;
    if(pageIndex < 0){
      pageIndex = imgCount - 1;
      $imgCt.css("left", -imgCount*imgWidth);
    }
    console.log(pageIndex);
    setBullet();
    isAnimate = false;
  });
}

function nextPage(len){
  if(isAnimate) return;
  isAnimate = true;
  $imgCt.animate({
    left: "-=" + len*imgWidth
  }, 150, function(){
    pageIndex += len;
    if(pageIndex === imgCount){
      pageIndex = 0;
      $imgCt.css("left", -imgWidth);
    }
    console.log(pageIndex);
    setBullet();
    isAnimate = false;
  });
}

4.当图片移动时,在图片下方的页码也随之改变,并且对每一个页码绑定点击事件,当点击页码时,跳转到对应的图片。

$bullets.click(function(){
  var index = $(this).index();
  if(index > pageIndex){
    nextPage(index - pageIndex);
  } else if (index < pageIndex){
    prePage(pageIndex - index);
  }
});

5.优化:当翻页动画未完成时,多次点击翻页,会使程序出错。
每次点击时进行判断,动画完成前的点击无效。

相关文章

  • Vue轮播图的实现以及其与jQuery轮播图的简单对比

    最近在学习Vue,然后做了一个轮播图,然后想起之前用jQuery做的轮播图,就打算进行一个对比。 jQuery轮播...

  • jQuery相关插件

    jQuery全屏滚动插件fullPage.js jquery轮播图插件unslider

  • 项目-轮播图

    整个轮播图分为三部分:轮播指标、轮播项目及轮播导航。用boostrap实现轮播图要比用js、jQuery方便的多,...

  • 前端学习笔记本

    jQuery轮播图插件slider-prohttp://www.htmleaf.com/jQuery/Slides...

  • jquery代码实现爱奇艺轮播图效果

    爱奇艺轮播图效果的jquery代码实现。 html部分: css部分: jquery部分:

  • Python(四十四)阶段小结

    Python(四十四)阶段小结 项目(一):jQuery轮播图 上一次使用了JavaScript做了轮播图,而这次...

  • Jquery轮播图

  • JQuery轮播图

    平移轮播: 预览:https://jirengu-inc.github.io/jrg-renwu8/homewor...

  • jQuery轮播图

    需求:使图片能够进行轮播滚动,到最后一张图片时返回第一张(或第一张向前到最后一张)。思路:在两端的图片前后添加一个...

  • jQuery轮播图

    需求:使图片能够进行轮播滚动,到最后一张图片时返回第一张(或第一张向前到最后一张)。思路:在两端的图片前后添加一个...

网友评论

      本文标题:jQuery轮播图

      本文链接:https://www.haomeiwen.com/subject/lwpdhqtx.html