查看: 16750|回复: 23
打印 上一主题 下一主题

swiper-slide位置偏移

[复制链接]
  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    跳转到指定楼层
    楼主
    发表于 2018-9-21 11:16:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    我用的webpack打包swiper3之后,swiper-slide的宽度没有达到swiper的宽度,从 alert(mySwiper.width)  弹出的值可确认这一点,导致slide的位置有偏移,没有占满整个屏幕,附件中有图片,使用了width属性之后,可以占满屏幕,但是自适应失效了,我试了很多方法都没有解决,在此怀着一点希冀,希望遇到大佬能帮我解决这个问题。。。


    1537499246(1).jpg (38.93 KB, 下载次数: 159)

    1537499246(1).jpg

    1537499219(1).jpg (622.95 KB, 下载次数: 177)

    1537499219(1).jpg

    1537499166(1).jpg (117.82 KB, 下载次数: 188)

    1537499166(1).jpg
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 分享分享 分享淘帖
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    来自 18#
     楼主| 发表于 2018-11-8 16:01:41 | 只看该作者
    var wid,index;
            var head_swiper = new Swiper("#headbanner",{
                    loop:true,
                    autoplay:3000,
                    speed:500,
                    autoplayDisableOnInteraction:false,
                    onInit: function(swiper){
                            wid = $(window).width()
                            swiper.setWrapperTranslate('-'+wid);
                    },
                    onSlideChangeEnd:function(swiper){
                            swiper.update()
                            wid = swiper.width
                            index = swiper.activeIndex
                            swiper.setWrapperTranslate('-'+index*wid);
                    },
                    onAutoplay: function(swiper){
                            swiper.update()
                            wid = swiper.width
                            index = swiper.activeIndex
                            swiper.setWrapperTranslate('-'+index*wid);
                    }

            })
            $(".icon-right").on("click",function(){
                    head_swiper.slideNext();//让索引增加1,但是滑动距离不正确,因此自定义滑动距离,所以这里两个滑动的api不矛盾!!!
                    wid = head_swiper.width
                    index = head_swiper.activeIndex
                    head_swiper.setWrapperTranslate('-'+index*wid);
            })
            $(".icon-left").on("click",function(){
                    head_swiper.slidePrev();
                    wid = head_swiper.width
                    index = head_swiper.activeIndex
                    head_swiper.setWrapperTranslate('-'+index*wid);
            })
    相对完善的一个案例,记录一下面条代码,不懂优化,唉~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    来自 19#
     楼主| 发表于 2018-11-8 16:04:06 | 只看该作者
    有没有swiper用的熟的大牛指点一下下啊挺难受的,总是遇到各种问题,然后瞎折腾。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    沙发
     楼主| 发表于 2018-9-21 11:23:08 | 只看该作者
    试过不用打包工具,这个问题就没有,因此我认为是打包工具造成的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    板凳
     楼主| 发表于 2018-9-21 11:25:16 | 只看该作者
    slidesOffsetBefore,这个属性试过了,设置偏移量,也没有用。给width赋值为
    function getWidth(){
                            $(window).on("load",function(){
                                    return window.innerWidth;
                            })
                            $(window).on("resize",function(){
                                    return window.innerWidth;
                            })
                    }
    希望可以解决自适应的问题的,结果还是不行,,,
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    地板
     楼主| 发表于 2018-9-21 11:27:47 | 只看该作者
    瞎折腾了一通,有点怀疑人生了。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    2

    帖子

    11

    积分

    新手上路

    Rank: 1

    积分
    11
    5#
    发表于 2018-9-21 13:46:07 | 只看该作者
    和你遇到了同一个问题 请问你的解决了吗
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    6#
     楼主| 发表于 2018-9-21 13:49:29 | 只看该作者
    yymmm 发表于 2018-9-21 13:46
    和你遇到了同一个问题 请问你的解决了吗

    没有啊~!!!找了两天解决方案了,没找着。之前是自己写的轮播图,不能拖拽滑动!这点用户体验不好,尝试着用swiper
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-10-14 22:14
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    83

    主题

    391

    帖子

    4万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    43974
    7#
    发表于 2018-9-21 14:35:25 | 只看该作者
    css设置下各级的宽度100%行不行
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    8#
     楼主| 发表于 2018-9-21 14:50:51 | 只看该作者
    admin 发表于 2018-9-21 14:35
    css设置下各级的宽度100%行不行

    .swiper-container{
                    width: 100% !important;
                    .swiper-wrapper{
                            width: 100% !important;
                            .swiper-slide{
                                    width: 100% !important;
                                    img{
                                            width: 100%;
    不行的,一开始就试过,再试了一次,只有slide设置100%有影响,但是左边又向右偏移了。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    9#
     楼主| 发表于 2018-9-21 14:52:02 | 只看该作者
    admin 发表于 2018-9-21 14:35
    css设置下各级的宽度100%行不行

    宽度还是没有100%,设了也没用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-2-22 14:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    2

    主题

    27

    帖子

    101

    积分

    注册会员

    Rank: 2

    积分
    101
    10#
     楼主| 发表于 2018-9-21 15:15:56 | 只看该作者
    admin 发表于 2018-9-21 14:35
    css设置下各级的宽度100%行不行

    抱歉,设置宽度100%是有效的,由于我初始索引调的是1,才又导致了偏移,刚才没看出来。导致偏移的原因是slide的translate的距离和slide的宽度不一致,稍微小了一些,这样越往后滑偏移就越大,我不知道上哪改‘滑动距离’,使其和slide的宽度一致。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-4-24 07:32 , Processed in 0.129814 second(s), 34 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

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