, 本文若有出入,请指正——来自小渣渣的颤抖
原来在app.wxss中定义了如下的内容【不知道是不是新建项目自动生成的,这里也就提供了 隐藏滚动条 的思路啦】
what, 宽高为0,而且还是透明的,难怪,好吧,修改宽高4px,color设置为green,以为可以了,呵呵,太年轻。
scroll-viwe 依然没有滚动条,以为是布局原因,导致滚动条消失在界面外,我将宽高设为20px,想想也是搞笑,设这么宽,但是,正是这种傻劲,再运行,发现右边宽出了好多,然而还是没有滚动条,懂了,肯定还有其他设置,果不其然……
一通捣腾,原来,除了设置 ::-webkit-scrollbar ,还需要设置 ::-webkit-scrollbar-track ,这是设置滚动的轨道, ::-webkit-scrollbar-thumb ,这是设置滚动条的。
所以完整的设置如下(在 app.wxss 中,这样所有的scroll-view都有了,如果需要单独设置样式,可在单独page的wxss中设置)
好了,看看效果
小程序滚动条无法滚动到底,原因可能是触发下拉加载数据时,当原来数组元素大于100条时,会先把之前的数组截取后40条数据,再拼接新的10条数据赋值给数组来展示页面,这个时候因为数据变更导致滚动条失效。小程序项目中涉及到视频功能,需求就是禁止拖动进度条。但是小程序video并没有提供一个属性用来禁止进度条拖动
以上是从微信官方论坛中找到的答案,就是说如果想实现禁止拖动进度条,要么就是隐藏掉,要么就是自己自定义一个进度条。如果用show-progress=‘{{false}}’,这个属性隐藏掉了进度条,那video原本自带的底部控制栏中(播放/暂停 ,进度时间,进度条,总时长,全屏/退出全屏),这些按钮中,就只剩下全屏/退出全屏了。
开始,我决定自定义进度条,但是我发现video里嵌套的组件,虽说官网给出的是可以使用view,但是只有界面效果,却触发不了view对应的方法,也就是说,我用slider组件自定义了一个进度条,并且禁用,然而不管用。
于是乎,几经波折,来回调试,最终还是决定用video自带的控制栏,通过在进度条位置,设置一个遮罩层,再设置一下透明度,这样,光标点不到进度条,就拖动不了了。当然,这个遮罩层也是要用<cover-view>
在设置遮罩层时,还遇到了问题,就是position: relativeopacity:0无效!!!
改成这样::position: absoluteopacity:0模拟器,安卓手机上都没问题,iOS真机上无效!!!
但是我发现,将透明度改大一点,大于0,iOS上就可以了。
所以,我用
wx.getSystemInfo,来判断设备,如果是iOS,那就设置透明度为0.1,如果是安卓,就为0.
其实到这里,问题基本解决了,但是还有一点点瑕疵,就是因为保留了本身的控制栏,那全屏/退出全屏的按钮功能要保留,所以遮罩层不能罩到要用的按钮,不然就都点击不了,所以在使用的按钮上我用view,设置了一个跟遮罩层一样颜色一样透明度的还补全,这样从视觉效果上才算是过关。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)