微信小程序scroll-view實(shí)現(xiàn)滾動(dòng)穿透和阻止?jié)L動(dòng)的方法
scroll-view滾動(dòng)穿透,阻止?jié)L動(dòng)
頁(yè)面彈窗阻止?jié)L動(dòng)是一種常見(jiàn)的問(wèn)題,這里簡(jiǎn)單介紹小程序scroll-view的一種解決方式
常用阻止?jié)L動(dòng)方式
在不使用scroll-view的彈窗中, 為position為absolute或fixed的元素設(shè)置catchtouchmove空事件就可以阻止彈窗下的頁(yè)面因事件穿透滾動(dòng)
<view catchtouchmove="doNothing"></view>
也可直接寫(xiě)catchtouchmove,相當(dāng)于綁定了事件名為true的事件
問(wèn)題場(chǎng)景
在小程序中,在absolute或fixed的類彈窗布局中。要顯示列表、長(zhǎng)文本段落等可滾動(dòng)元素,必須使用scroll-view組件,無(wú)法阻止頁(yè)面本身的滾動(dòng)
解決辦法
既然無(wú)法簡(jiǎn)單的阻止事件穿透,就在頁(yè)面可滾動(dòng)的元素本身想想辦法:
頁(yè)面滾動(dòng)元素
小程序中的簡(jiǎn)單布局,在頁(yè)面內(nèi)容超出一屏?xí)r,滾動(dòng)的元素是page
如何讓頁(yè)面不滾動(dòng)
將page的高度設(shè)為100%,頁(yè)面最外層放一個(gè)view,打開(kāi)彈窗時(shí)通過(guò)一個(gè)class增加樣式,設(shè)頁(yè)面高度100%,overflow: hidden來(lái)停止?jié)L動(dòng)
打開(kāi)彈窗時(shí)設(shè)isStopBodyScroll為true,關(guān)閉時(shí)設(shè)為false
<view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}">
<!-- 頁(yè)面內(nèi)容 -->
</view>
.scroll-lock {
height: 100%;
overflow-y: hidden;
}
存在的問(wèn)題
這樣設(shè)置頁(yè)面會(huì)回到頂部,期待有更好的解決方式或官方對(duì)這個(gè)問(wèn)題提供支持
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序 scroll-view隱藏滾動(dòng)條詳解
- 微信小程序 scroll-view實(shí)現(xiàn)錨點(diǎn)滑動(dòng)的示例
- 微信小程序(九)scroll-view組件詳細(xì)介紹
- 微信小程序 scroll-view實(shí)現(xiàn)上拉加載與下拉刷新的實(shí)例
- 詳解微信小程序scroll-view橫向滾動(dòng)的實(shí)踐踩坑及隱藏其滾動(dòng)條的實(shí)現(xiàn)
- 微信小程序 scroll-view組件實(shí)現(xiàn)列表頁(yè)實(shí)例代碼
- 微信小程序使用scroll-view標(biāo)簽實(shí)現(xiàn)自動(dòng)滑動(dòng)到底部功能的實(shí)例代碼
- 微信小程序scroll-view組件實(shí)現(xiàn)滾動(dòng)動(dòng)畫(huà)
- 微信小程序scroll-view仿拼多多橫向滑動(dòng)滾動(dòng)條
- 微信小程序自定義scroll-view的實(shí)例代碼
相關(guān)文章
Bootstrap樹(shù)形組件jqTree的簡(jiǎn)單封裝
這篇文章主要介紹了Bootstrap樹(shù)形組件jqTree的簡(jiǎn)單封裝,封裝一個(gè)稍微完整點(diǎn)的樹(shù)形組件,感興趣的小伙伴們可以參考一下2016-01-01
zepto中使用swipe.js制作輪播圖附swipeUp,swipeDown不起效果問(wèn)題
Swipe JS 是一個(gè)輕量級(jí)的移動(dòng)滑動(dòng)組件,支持 1:1 的觸摸移動(dòng),阻力以及防滑性能都不錯(cuò),可以讓移動(dòng)web應(yīng)用展現(xiàn)更多的內(nèi)容,能解決我們對(duì)于移動(dòng)Web對(duì)滑動(dòng)的需求。下面小編給大家介紹zepto中使用swipe.js制作輪播圖附swipeUp,swipeDown不起效果問(wèn)題,需要朋友可以參考下2015-08-08
javascript setTimeout和setInterval計(jì)時(shí)的區(qū)別詳解
window對(duì)象有兩個(gè)主要的定時(shí)方法,分別是setTimeout 和 setInteval 他們的語(yǔ)法基本上相同,但是完成的功能取有區(qū)別。2013-06-06
JavaScript刪除數(shù)組中指定元素5種方法例子
這篇文章主要給大家介紹了關(guān)于JavaScript刪除數(shù)組中指定元素5種方法,在最近的項(xiàng)目中,有用到j(luò)s對(duì)數(shù)組的操作,所以這里總結(jié)一下,需要的朋友可以參考下2023-07-07

