查看: 5589|回复: 4
打印 上一主题 下一主题

swiper 第二次循环时直接从第二张开始循环了

[复制链接]
  • TA的每日心情
    无聊
    2017-2-3 16:36
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    2

    帖子

    8

    积分

    新手上路

    Rank: 1

    积分
    8
    跳转到指定楼层
    楼主
    发表于 2017-2-3 16:36:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    swiper 循环一次后,第二次循环时直接跳过第一张图片,从第二张开始循环了,相同的代码在其它页面没有问题
    html:
    <!--轮播start-->
                    <div class="swiper-container" id="swiper1" style="margin-top: -1px;">
                            <div class="swiper-wrapper">
                                    <div class="swiper-slide lunbo" ng-repeat="l in lunboList" on-finish-render-filters ng-click="gotoDetail('1')">
                                            <img ng-src="{{l.img}}" />
                                    </div>
                            </div>
                            <!--<div class="swiper-pagination"></div>-->
                    </div>
                    <!--轮播end-->
    js:
    var mySwiper = $('#swiper1').swiper({
                    loop: true,
                    autoplay: 4000, //自动切换的时间间隔(单位ms)       
                    speed: 500, //滑动速度:自动滑动开始到结束的时间(单位ms)       
                    autoplayDisableOnInteraction: false, //注意此参数,默认为true       
                    observer: true, //修改swiper自己或子元素时,自动初始化swiper       
                    observeParents: true, //修改swiper的父元素时,自动初始化swiper       
            });
    js是放在controller.js里面的,轮播内容是动态加载的。请问各个大神,这个问题怎么解决啊?
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 分享淘帖
    回复

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    4

    积分

    新手上路

    Rank: 1

    积分
    4
    沙发
    发表于 2017-3-20 16:17:11 | 只看该作者
    把初始化swiper的js放到动态加载图片的代码之后试试,我试过可以
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    4

    积分

    新手上路

    Rank: 1

    积分
    4
    板凳
    发表于 2017-6-1 11:38:35 | 只看该作者
    楼主的问题不知道解决了没有,我的在ionic中使用swiper的时候也出现了这个问题,不知道你是怎么解决的,能不能分享一下,邮箱:web_xyn@163.com,十分感谢!!!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    5

    帖子

    18

    积分

    新手上路

    Rank: 1

    积分
    18
    地板
    发表于 2017-9-21 11:40:24 | 只看该作者
    setTimeout(function(){
                            
                      var mySwiper = $('#swiper1').swiper({
                    loop: true,
                    autoplay: 4000, //自动切换的时间间隔(单位ms)        
                    speed: 500, //滑动速度:自动滑动开始到结束的时间(单位ms)        
                    autoplayDisableOnInteraction: false, //注意此参数,默认为true        
                    observer: true, //修改swiper自己或子元素时,自动初始化swiper        
                    observeParents: true, //修改swiper的父元素时,自动初始化swiper        
            });
                       },500);

    用延时器包一下
    或者把初始化swiper的js放到动态加载图片的代码之后
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    1

    帖子

    4

    积分

    新手上路

    Rank: 1

    积分
    4
    5#
    发表于 2018-3-30 16:39:54 | 只看该作者
    反正我是这样改好的,后面加了这2条

    onTouchStart: function (swiper) { setTimeout(function () { swiper.stopAutoplay(); }, 1); },
    onTouchEnd: function (swiper) { setTimeout(function () { swiper.startAutoplay(); }, 1); }
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Swiper中文网 ( 粤ICP备15001020号

    GMT+8, 2024-11-23 21:31 , Processed in 0.076814 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表