javascript - 要设计一个可以左右控制的轮播图,在左右控制按钮上不知如何处理逻辑,用的是JQ
PHP中文网
PHP中文网 2017-04-10 17:49:22
[JavaScript讨论组]
   //设置图片下标
var curIndex = 0; 
    var autoChange=setInterval(function(){
        if(curIndex < $('#bannerItem li').length-1){
            curIndex++;
        }else{
            curIndex =0;
        }
        changeTo(curIndex);
    },2500);

    //自动变化
    function changeTo(num){ 
    $("#bannerItem").find("li").removeClass("imgOn").hide().eq(num).fadeIn(1000).addClass("imgOn");
  };
      $('#banner-left').click(function(){
          clearInterval(autoChange);
          changeTo(curIndex-1);
          autoChange=setInterval(function(){
        if(curIndex < $('#bannerItem li').length-1){
            curIndex++;
        }else{
            curIndex =0;
        }
    },2500);
      });

//切换图片
function changeTo(num){ 
    $("#bannerItem").find("li").removeClass("imgOn").hide().eq(num).fadeIn(1000).addClass("imgOn");
  };



//问题在这里
$('#banner-pre').click(function(){
          clearInterval(autoChange);
          changeTo(curIndex-1);
          autoChange=setInterval(function(){
        if(curIndex < $('#bannerItem li').length-1){
            curIndex++;
        }else{
            curIndex =0;
        }
    },2500);
      });
  /*    $('#banner-next').click(function(){
          clearInterval(autoChange);
      });*/

这样的话点击上一张图会卡住不能继续自动播放,再点击会一直停在第一张图,不知道该如何处理

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
阿神

没仔细瞅代码,说下逻辑

  1. 监听左右两个按钮事件

  2. 获取当前停留图片的index

  3. 判断左右按钮哪个被点击相应的index++,或index--
    (注意,此处需判断边界,即停留在第一张图片的时候,点击向左的按钮是要切换到最后一张图片,还是停留在这;停留在最后一张图片的时候同理)

  4. 获取index,切换图片,也就是你代码里的changTo函数,此处在加上缓冲效果,可以由css3 translate实现,也可以自己写缓冲函数,jq里的animate函数也行

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号