溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微信小程序中怎么使用scroll-view實現(xiàn)滾動穿透和阻止?jié)L動

發(fā)布時間:2022-04-08 10:45:20 來源:億速云 閱讀:1470 作者:iii 欄目:編程語言

這篇文章主要講解了“微信小程序中怎么使用scroll-view實現(xiàn)滾動穿透和阻止?jié)L動”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“微信小程序中怎么使用scroll-view實現(xiàn)滾動穿透和阻止?jié)L動”吧!

scroll-view滾動穿透,阻止?jié)L動

頁面彈窗阻止?jié)L動是一種常見的問題,這里簡單介紹小程序scroll-view的一種解決方式

常用阻止?jié)L動方式

在不使用scroll-view的彈窗中, 為position為absolute或fixed的元素設置catchtouchmove空事件就可以阻止彈窗下的頁面因事件穿透滾動

<view catchtouchmove="doNothing"></view>

也可直接寫catchtouchmove,相當于綁定了事件名為true的事件

問題場景

在小程序中,在absolute或fixed的類彈窗布局中。要顯示列表、長文本段落等可滾動元素,必須使用scroll-view組件,無法阻止頁面本身的滾動

解決辦法

既然無法簡單的阻止事件穿透,就在頁面可滾動的元素本身想想辦法:

頁面滾動元素

小程序中的簡單布局,在頁面內(nèi)容超出一屏時,滾動的元素是page

如何讓頁面不滾動

將page的高度設為100%,頁面最外層放一個view,打開彈窗時通過一個class增加樣式,設頁面高度100%,overflow: hidden來停止?jié)L動

打開彈窗時設isStopBodyScroll為true,關閉時設為false

<view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}">
 <!-- 頁面內(nèi)容 -->
</view>
.scroll-lock {
 height: 100%;
 overflow-y: hidden;
}

存在的問題

這樣設置頁面會回到頂部,期待有更好的解決方式或官方對這個問題提供支持

感謝各位的閱讀,以上就是“微信小程序中怎么使用scroll-view實現(xiàn)滾動穿透和阻止?jié)L動”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對微信小程序中怎么使用scroll-view實現(xiàn)滾動穿透和阻止?jié)L動這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI