微信小程序自定義底部、頂部、中間、左邊及右邊彈窗
微信小程序自定義底部、頂部、中間、左邊、右邊彈窗
簡單的微信小程序彈窗功能,具體實現(xiàn)過程,請瀏覽代碼。
頂部彈出窗圖例:
中間彈出窗圖例:
底部彈出窗圖例:
左邊彈出窗圖例:
右邊彈出窗圖例:
wxml代碼
<button type="primary" bindtap="openPopup" data-index="0">打開頂部彈窗</button> <button type="primary" bindtap="openPopup" data-index="1">打開中間彈窗</button> <button type="primary" bindtap="openPopup" data-index="2">打開底部彈窗</button> <button type="primary" bindtap="openPopup" data-index="3">打開左邊彈窗</button> <button type="primary" bindtap="openPopup" data-index="4">打開右邊彈窗</button> <!-- 頂部彈窗 --> <view class="popup-box" wx:if="{{showIndex=='0'}}" bindtap="closePopup"></view> <view class="info-top" wx:if="{{showIndex=='0'}}"> <view class="row-info"> <view> <text class="line left-line"></text> <text>《登高》</text> <text class="line right-line"></text> </view> <view class="row-author">杜甫 〔唐代〕</view> <view>風急天高猿嘯哀,渚清沙白鳥飛回。</view> <view>無邊落木蕭蕭下,不盡長江滾滾來。</view> <view>萬里悲秋常作客,百年多病獨登臺。</view> <view>艱難苦恨繁霜鬢,潦倒新停濁酒杯。</view> </view> <view class="row-btn"> <view class="left-btn" bindtap="closePopup">取消</view> <view class="right-btn">確認</view> </view> </view> <!-- 中間彈窗 --> <view class="popup-box" wx:if="{{showIndex=='1'}}" bindtap="closePopup"></view> <view class="info-center" style="top:{{height*0.3}}px;height:{{height*0.4}}px;" wx:if="{{showIndex=='1'}}"> <view> <view class="row-info"> <view> <text class="line left-line"></text> <text>《登高》</text> <text class="line right-line"></text> </view> <view class="row-author">杜甫 〔唐代〕</view> <view>風急天高猿嘯哀,渚清沙白鳥飛回。</view> <view>無邊落木蕭蕭下,不盡長江滾滾來。</view> <view>萬里悲秋常作客,百年多病獨登臺。</view> <view>艱難苦恨繁霜鬢,潦倒新停濁酒杯。</view> </view> <view class="row-btn"> <view class="left-btn" bindtap="closePopup">取消</view> <view class="right-btn">確認</view> </view> </view> </view> <!-- 底部彈窗 --> <view class="popup-box" wx:if="{{showIndex=='2'}}" bindtap="closePopup"></view> <view class="info-bottom" wx:if="{{showIndex=='2'}}"> <view class="row-info"> <view> <text class="line left-line"></text> <text>《登高》</text> <text class="line right-line"></text> </view> <view class="row-author">杜甫 〔唐代〕</view> <view>風急天高猿嘯哀,渚清沙白鳥飛回。</view> <view>無邊落木蕭蕭下,不盡長江滾滾來。</view> <view>萬里悲秋常作客,百年多病獨登臺。</view> <view>艱難苦恨繁霜鬢,潦倒新停濁酒杯。</view> </view> <view class="row-btn"> <view class="left-btn" bindtap="closePopup">取消</view> <view class="right-btn">確認</view> </view> </view> <!-- 左邊彈窗 --> <view class="popup-box" wx:if="{{showIndex=='3'}}" bindtap="closePopup"></view> <view class="info-left" wx:if="{{showIndex=='3'}}"> <view class="row-info"> <view> <text class="line left-line"></text> <text>《登高》</text> <text class="line right-line"></text> </view> <view class="row-author">杜甫 〔唐代〕</view> <view>風急天高猿嘯哀,</view> <view>渚清沙白鳥飛回。</view> <view>無邊落木蕭蕭下,</view> <view>不盡長江滾滾來。</view> <view>萬里悲秋常作客,</view> <view>百年多病獨登臺。</view> <view>艱難苦恨繁霜鬢,</view> <view>潦倒新停濁酒杯。</view> </view> <view class="row-btn fixed"> <view class="left-btn" bindtap="closePopup">取消</view> <view class="right-btn">確認</view> </view> </view> <!-- 右邊彈窗 --> <view class="popup-box" wx:if="{{showIndex=='4'}}" bindtap="closePopup"></view> <view class="info-right" wx:if="{{showIndex=='4'}}"> <view class="row-info"> <view> <text class="line left-line"></text> <text>《登高》</text> <text class="line right-line"></text> </view> <view class="row-author">杜甫 〔唐代〕</view> <view>風急天高猿嘯哀,</view> <view>渚清沙白鳥飛回。</view> <view>無邊落木蕭蕭下,</view> <view>不盡長江滾滾來。</view> <view>萬里悲秋常作客,</view> <view>百年多病獨登臺。</view> <view>艱難苦恨繁霜鬢,</view> <view>潦倒新停濁酒杯。</view> </view> <view class="row-btn fixed"> <view class="left-btn" bindtap="closePopup">取消</view> <view class="right-btn">確認</view> </view> </view>
wxss代碼
/* 蒙層 */ .popup-box{ position: absolute; z-index: 99; top: 0; background-color: rgba(0, 0, 0, 0.5); width: 100%; height: 100%; } /* 上 */ .info-top{ position: fixed; z-index: 999; width: 100%; top: 0; background-color: white; border-bottom-left-radius: 5rpx; border-bottom-right-radius: 5rpx; } /* 中 */ .info-center{ position: fixed; z-index: 999; background-color: white; display: flex; align-items: center; justify-content: center; border-radius: 10rpx; width: 90%; margin-left: 5%; margin-right: 5%; } /* 下 */ .info-bottom{ position: fixed; z-index: 999; width: 100%; bottom: 0; background-color: white; border-top-left-radius: 10rpx; border-top-right-radius: 10rpx; } /* 左 */ .info-left{ position: fixed; z-index: 999; width: 50%; height: 100%; top: 0; background-color: white; border-top-right-radius: 10rpx; border-bottom-right-radius: 10rpx; } /* 右 */ .info-right{ position: fixed; z-index: 999; width: 50%; height: 100%; right: 0; top: 0; background-color: white; border-top-left-radius: 10rpx; border-bottom-left-radius: 10rpx; } /* 自定義內(nèi)容(根據(jù)自己需求更改,可刪除) */ button{ margin: 15rpx 0; } .row-info{ display: flex; flex-direction: column; align-items: center; margin: 15rpx; font-size: 32rpx; } .row-info view{ padding: 10rpx 0; } .row-info view:first-child{ display: flex; flex-direction: row; align-items: center; } .line{ width: 100rpx; height: 1rpx; } .left-line{ background-image: linear-gradient(to left,orange,white); } .right-line{ background-image: linear-gradient(to right,orange,white); } .row-author{ font-size: 24rpx; color: gray; } .row-btn{ display: flex; flex-direction: row; align-items: center; border-top: 1rpx dashed #f1f1f1; } .row-btn view{ flex: 1; text-align: center; margin: 20rpx 10%; padding: 12rpx 0; font-size: 32rpx; border-radius: 10rpx; } .left-btn{ background-color: #f1f1f1; color: #33ccff; } .right-btn{ background-color: #33ccff; color: white; } .fixed{ position: fixed; bottom: 0; width: 50%; }
js代碼
Page({ /** * 頁面的初始數(shù)據(jù) */ data: { showIndex:null,//打開彈窗的對應(yīng)下標 height:'',//屏幕高度 }, // 打開彈窗 openPopup(e){ var index = e.currentTarget.dataset.index; this.setData({ showIndex:index }) }, //關(guān)閉彈窗 closePopup(){ this.setData({ showIndex:null }) }, /** * 生命周期函數(shù)--監(jiān)聽頁面初次渲染完成 */ onReady() { var that = this; // 動態(tài)獲取屏幕高度 wx.getSystemInfo({ success: (result) => { that.setData({ height: result.windowHeight }); }, }) }, })
代碼簡潔,類型齊全。本人才疏學淺,代碼僅供參考,如有問題,請多多指教,酸Q。
總結(jié)
到此這篇關(guān)于微信小程序自定義底部、頂部、中間、左邊及右邊彈窗的文章就介紹到這了,更多相關(guān)微信小程序彈窗內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
用apply讓javascript函數(shù)僅執(zhí)行一次的代碼
有時候我們只想要讓某些腳步函數(shù)執(zhí)行一次就算完成任務(wù)了。如何實現(xiàn)這種功能呢?簡單模仿下面這段就可以輕松搞定了2010-06-06javascript的console.log()用法小結(jié)
console.log 原先是 Firefox 的 專利 ,嚴格說是安裝了 Firebugs 之后的 Firefox 所獨有的調(diào)試 絕招2012-05-05利用原生JS實現(xiàn)懶加載lazyLoad的三種方法總結(jié)
加載頁面的時候,圖片一直都是流量大頭,針對圖片的性能方法也挺多的比如base64、雪碧圖等;懶加載也是其中一種,這篇文章主要給大家介紹了關(guān)于利用原生JS實現(xiàn)懶加載lazyLoad的三種方法,需要的朋友可以參考下2021-07-07webpack-dev-server 的 host 配置 0.0.0.0的方法
這篇文章主要介紹了webpack-dev-server 的 host 配置 0.0.0.0的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,,需要的朋友可以參考下2024-01-01關(guān)于編寫性能高效的javascript事件的技術(shù)
這篇文章主要介紹了關(guān)于編寫性能高效的javascript事件的技術(shù) ,需要的朋友可以參考下2014-11-11