這篇文章主要介紹微信小程序如何解決自定義彈窗滾動與頁面滾動沖突的問題,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
十多年的武岡網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時及時工作處理。網(wǎng)絡(luò)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整武岡建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“武岡網(wǎng)站設(shè)計”,“武岡網(wǎng)站推廣”以來,每個客戶項目都認(rèn)真落實執(zhí)行。
具體內(nèi)容如下
先看效果是否是自己需要的
實現(xiàn)步驟:
1.整個布局用作為根節(jié)點包裹所有view,并動態(tài)綁定scroll-view的scroll-y屬性
2.樣式文件中設(shè)置Page的overflow-y屬性值為hidden
3.樣式文件中設(shè)置scroll-view的height屬性值為100%
4.打開自定義彈窗的點擊事件中,更改isScroll的值為false,關(guān)閉彈窗的點擊事件中,更改isScroll的值為true
JS:
Page({ /** * 頁面的初始數(shù)據(jù) */ data: { arrayData: null, dialogData: null, isDialogShow: false, isScroll: true }, /** * 生命周期函數(shù)--監(jiān)聽頁面加載 */ onLoad: function (options) { //構(gòu)建測試數(shù)據(jù) let data = new Array(); let dialog = new Array(); for (let i = 0; i < 25; i++) { data[i] = '我是測試-----------' + i; dialog[i] = { name: '我是彈窗-' + i, isSelected: false }; } this.setData({ arrayData: data, dialogData: dialog }); }, /** * 顯示、關(guān)閉彈窗 */ showDialog: function (e) { var currentStatu = e.currentTarget.dataset.statu; console.log('currentStatu:', currentStatu); //關(guān)閉 if (currentStatu == "close") { this.setData({ isDialogShow: false, isScroll: true }); } // 顯示 if (currentStatu == "open") { this.setData({ isDialogShow: true, isScroll: false }); } } })
wxml:
<button>做點什么</button> <scroll-view scroll-y="{{isScroll}}"> <view class="rootView"> <view class="inTable"> <view wx:for="{{arrayData}}" wx:key="" class="unitItemLeft" bindtap="showDialog" data-statu="open"> <input class="baseItemWithBorder" value="{{item}}" disabled /> </view> </view> </view> </scroll-view> <!--測試彈窗--> <view class="dialogMarsk" bindtap="showDialog" data-statu="close" wx:if="{{isDialogShow}}"></view> <!--dialog--> <view class="dialog" wx:if="{{isDialogShow}}"> <view class="appreciationTitle"> <text >我是彈窗</text> </view> <view wx:for="{{dialogData}}" class="appreciationTable"> <view class="unitItemLeft"> <text class="baseItemWithBorder">{{item.name}}</text> </view> </view> </view>
wxss:
Page { position: absolute; font-size: 36rpx; width: 100%; height: 100%; display: block; background: #FAFAFA; overflow-y: hidden; } scroll-view { height: 100%; } .rootView{ /* width: 100%; */ padding: 10rpx; display: flex; flex-direction: column; } .baseItemWithBorder{ flex-grow: 1; height: 100%; padding-left: 20rpx; padding-right: 20rpx; border-bottom: solid 1rpx gainsboro; } .inTable{ width: 100%; display: flex; box-shadow:5px 5px 10px gray; flex-direction: column; margin-top: 40rpx; background: white; } .inDetail{ width: 100%; height: 80rpx; display: flex; } .unitLeft{ justify-content: flex-start; padding-left: 20rpx; } .unitItemLeft{ width: 100%; height: 80rpx; display: flex; flex-direction: row; } .dialogMarsk { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 1000; background: rgba(0, 0, 0, 0.6); overflow: hidden; } .dialog { width: 80%; height: 50%; position: fixed; top: 10%; z-index: 1001; background: #FAFAFA; border-radius: 3px; overflow-y: scroll; } .appreciationTable{ width: 98%; display: flex; flex-direction: column; background: white; margin: 0 10rpx; } .appreciationTitle{ width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; margin-top: 20rpx; margin-bottom: 20rpx; }
以上是“微信小程序如何解決自定義彈窗滾動與頁面滾動沖突的問題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
網(wǎng)頁名稱:微信小程序如何解決自定義彈窗滾動與頁面滾動沖突的問題
本文來源:http://aaarwkj.com/article12/ihhddc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供虛擬主機、微信公眾號、關(guān)鍵詞優(yōu)化、微信小程序、營銷型網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)