javascript - swiper 循环滑动问题
PHP中文网
PHP中文网 2017-04-11 09:44:30
[JavaScript讨论组]

swiper滑到最后一屏可以继续滑动切换到第一屏,我知道有loop这个模式,现在要实现的效果是:比如左右滑动,效果和有loop:true的效果一样,不过就是第一屏不能右滑。请问怎么实现?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
高洛峰
var swiper = new Swiper('.swiper-container');

第一屏不能右划, 默认配置就可以实现啊

loop:true; 同时首页不能向右划:

var swiper = new Swiper('.swiper-container', {
        direction: 'horizontal',
        loop: true,
        onTouchMove: function(swiper){
          if(swiper.activeIndex == 1){
            swiper.lockSwipeToPrev();
          }else{
            swiper.unlockSwipeToPrev();
          }
        }
    });
巴扎黑

需要在源码中加两行代码进行判断,分别是move移动时的禁止移动与end结束时的禁止跳转;
(代码不能加粗 具体看有注释的那行)

1.查swipe源码里的move函数,其中有一个判断:

if (options.continuous) { 
          if(delta.x > 0 && index==0){return false}//加上这行
          translate(circle(index-1), delta.x + slidePos[circle(index-1)], 0);
          translate(index, delta.x + slidePos[index], 0);
          translate(circle(index+1), delta.x + slidePos[circle(index+1)], 0);

        } else {

2.查swipe源码里的end函数,其中有一个判断:

if (direction) {
            if (options.continuous) { 

              move(circle(index-1), -width, 0);
              move(circle(index+2), width, 0);

            } else {
              move(index-1, -width, 0);
            }

            move(index, slidePos[index]-width, speed);
            move(circle(index+1), slidePos[circle(index+1)]-width, speed);
            index = circle(index+1);

          } else if(index!=0){  //源码中是else 此处需要加判断index!=0
            if (options.continuous) {

              move(circle(index+1), width, 0);
              move(circle(index-2), -width, 0);

            } else {
              move(index+1, width, 0);
            }

            move(index, slidePos[index]+width, speed);
            move(circle(index-1), slidePos[circle(index-1)]+width, speed);
            index = circle(index-1);

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

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