返回顶部 wx.pageScrollTo问题!

406 阅读1分钟

swiper这个东西真的好烦人!他的swiper-item会有个固定150px的高度还要超出隐藏!!!要是没这个玩意根本不会出这么多问题

问题描述

我在开发小程序的时候有个点击返回顶部的需求,我本来就么有很在意这不就是改个滚动条高度吗!小问题 真的到开发的时候我发现我封装的有问题,我给大家看一下我的结构

    <swiper>
        <swiper-item>内容</swiper-item>
        <swiper-item></swiper-item>
        <swiper-item></swiper-item>
        <swiper-item></swiper-item>
        <swiper-item></swiper-item>
    </swiper>
    //内容
    <view>
        <view>轮播</view>
        <view>滚动列表,这还是个组件</view>
    </view>

大致项目结构就是这样,然后就遇到了问题,因为swiper-item有固定高度我们需要给他顶掉,一般都设置100vh,然后我刚开始设置的超出了导致他会有一个滚动条,但是那个滚动条不会触发,我去使用wx.pageScrollTo的时候,他没有效果!!!!

没有效果的原因是按照我的结构来说哈,我是在内容里面写的wx.pageScrollTo方法,这个内容的组件,必须设置overflow: visible这个属性,而且必须是在这个组件内部设置,外面传进来的都不行 然后wx.pageScrollTo方法才会生效,然后你仔细观察就会发现,他触发的是他父组件的滚动条的高度,而不是我们所想的子组件的,对他会触发父组件我始终没想明白是为啥,最终解决的方案是将父组件的高度用css的计算设置成既没有滚动条,又能覆盖全屏的,我最后设置成了100vh * 0.9解决了这个问题