微信小程序表單彈窗實(shí)例
開(kāi)發(fā)中有時(shí)候會(huì)碰到需要一個(gè)表單彈窗來(lái)處理數(shù)據(jù)的提交處理,然后這次發(fā)布的這套源碼就是解決這個(gè)問(wèn)題!
WXML代碼如何:
<!--button--> <view class="btn" bindtap="powerDrawer" data-statu="open">button</view> <!--mask--> <view class="drawer_screen" bindtap="powerDrawer" data-statu="close" wx:if="{{showModalStatus}}"></view> <!--content--> <!--使用animation屬性指定需要執(zhí)行的動(dòng)畫(huà)--> <view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus}}"> <!--drawer content--> <view class="drawer_title">彈窗標(biāo)題</view> <view class="drawer_content"> <view class="top grid"> <label class="title col-0">標(biāo)題</label> <input class="input_base input_h30 col-1" name="rName" value="可自行定義內(nèi)容"></input> </view> <view class="top grid"> <label class="title col-0">標(biāo)題</label> <input class="input_base input_h30 col-1" name="mobile" value="110"></input> </view> <view class="top grid"> <label class="title col-0">標(biāo)題</label> <input class="input_base input_h30 col-1" name="phone" value="拒絕伸手黨"></input> </view> <view class="top grid"> <label class="title col-0">標(biāo)題</label> <input class="input_base input_h30 col-1" name="Email" value="僅供學(xué)習(xí)使用"></input> </view> <view class="top bottom grid"> <label class="title col-0">備注</label> <input class="input_base input_h30 col-1" name="bz"></input> </view> </view> <view class="btn_ok" bindtap="powerDrawer" data-statu="close">確定</view> </view>
JS代碼如何:
Page({ data: { showModalStatus: false }, powerDrawer: function (e) { var currentStatu = e.currentTarget.dataset.statu; this.util(currentStatu) }, util: function(currentStatu){ /* 動(dòng)畫(huà)部分 */ // 第1步:創(chuàng)建動(dòng)畫(huà)實(shí)例 var animation = wx.createAnimation({ duration: 200, //動(dòng)畫(huà)時(shí)長(zhǎng) timingFunction: "linear", //線(xiàn)性 delay: 0 //0則不延遲 }); // 第2步:這個(gè)動(dòng)畫(huà)實(shí)例賦給當(dāng)前的動(dòng)畫(huà)實(shí)例 this.animation = animation; // 第3步:執(zhí)行第一組動(dòng)畫(huà) animation.opacity(0).rotateX(-100).step(); // 第4步:導(dǎo)出動(dòng)畫(huà)對(duì)象賦給數(shù)據(jù)對(duì)象儲(chǔ)存 this.setData({ animationData: animation.export() }) // 第5步:設(shè)置定時(shí)器到指定時(shí)候后,執(zhí)行第二組動(dòng)畫(huà) setTimeout(function () { // 執(zhí)行第二組動(dòng)畫(huà) animation.opacity(1).rotateX(0).step(); // 給數(shù)據(jù)對(duì)象儲(chǔ)存的第一組動(dòng)畫(huà),更替為執(zhí)行完第二組動(dòng)畫(huà)的動(dòng)畫(huà)對(duì)象 this.setData({ animationData: animation }) //關(guān)閉 if (currentStatu == "close") { this.setData( { showModalStatus: false } ); } }.bind(this), 200) // 顯示 if (currentStatu == "open") { this.setData( { showModalStatus: true } ); } } })
WXSS代碼如何:
/*button*/ .btn { width: 80%; padding: 20rpx 0; border-radius: 10rpx; text-align: center; margin: 40rpx 10%; background: #000; color: #fff; } /*mask*/ .drawer_screen { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 1000; background: #000; opacity: 0.5; overflow: hidden; } /*content*/ .drawer_box { width: 650rpx; overflow: hidden; position: fixed; top: 50%; left: 0; z-index: 1001; background: #FAFAFA; margin: -150px 50rpx 0 50rpx; border-radius: 3px; } .drawer_title{ padding:15px; font: 20px "microsoft yahei"; text-align: center; } .drawer_content { height: 210px; overflow-y: scroll; /*超出父盒子高度可滾動(dòng)*/ } .btn_ok{ padding: 10px; font: 20px "microsoft yahei"; text-align: center; border-top: 1px solid #E8E8EA; color: #3CC51F; } .top{ padding-top:8px; } .bottom { padding-bottom:8px; } .title { height: 30px; line-height: 30px; width: 160rpx; text-align: center; display: inline-block; font: 300 28rpx/30px "microsoft yahei"; } .input_base { border: 2rpx solid #ccc; padding-left: 10rpx; margin-right: 50rpx; } .input_h30{ height: 30px; line-height: 30px; } .input_h60{ height: 60px; } .input_view{ font: 12px "microsoft yahei"; background: #fff; color:#000; line-height: 30px; } input { font: 12px "microsoft yahei"; background: #fff; color:#000 ; } radio{ margin-right: 20px; } .grid { display: -webkit-box; display: box; } .col-0 {-webkit-box-flex:0;box-flex:0;} .col-1 {-webkit-box-flex:1;box-flex:1;} .fl { float: left;} .fr { float: right;}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript通過(guò)元素id和name直接取得元素的方法
這篇文章主要介紹了javascript通過(guò)元素id和name直接取得元素的方法,涉及javascript獲取元素的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04前端實(shí)現(xiàn)電子簽名(web、移動(dòng)端)通用的實(shí)戰(zhàn)過(guò)程
電子簽名通俗來(lái)說(shuō)就是通過(guò)技術(shù)手段實(shí)現(xiàn)在電子文檔上加載電子形式的簽名,下面這篇文章主要給大家介紹了關(guān)于前端實(shí)現(xiàn)電子簽名(web、移動(dòng)端)通用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12JavaScript定義函數(shù)的三種實(shí)現(xiàn)方法
這篇文章主要介紹了JavaScript定義函數(shù)的三種實(shí)現(xiàn)方法的相關(guān)資料,希望通過(guò)本文大家能夠掌握三種定義函數(shù)的方法,需要的朋友可以參考下2017-09-09HTML長(zhǎng)文本截取含有HTML代碼同樣適用的兩種方法
正如標(biāo)題所言我們可以使用CSS截?cái)嘧址篒E,FireFox,Opera ,Safari都兼容也可以使用js截取,具體實(shí)現(xiàn)如下,希望對(duì)大家有所幫助2013-07-07JavaScript實(shí)現(xiàn)星星等級(jí)評(píng)價(jià)功能
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)星星等級(jí)評(píng)價(jià)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03詳解webpack之scss和postcss-loader的配置
本篇文章主要介紹了詳解webpack之scss和postcss-loader的配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能
FileReader 對(duì)象允許Web應(yīng)用程序異步讀取存儲(chǔ)在用戶(hù)計(jì)算機(jī)上的文件內(nèi)容,使用 File或 Blob對(duì)象指定要讀取的文件或數(shù)據(jù)。下面通過(guò)本文給大家分享JavaSctit 利用FileReader和濾鏡上傳圖片預(yù)覽功能,需要的朋友參考下吧2017-09-09javaScript+turn.js實(shí)現(xiàn)圖書(shū)翻頁(yè)效果實(shí)例代碼
這篇文章主要介紹了javaScript+turn.js實(shí)現(xiàn)圖書(shū)翻頁(yè)效果實(shí)例代碼,重點(diǎn)講解turn.js 如何使用的。需要的朋友可以參考下2017-02-02