最近发现一个比较好用的小程序自定义模态框,将其简化了一下,可以在框内放入想要的内容。
具体内容如下:
	index.wxml
	 
- <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属性指定需要执行的动画-->
 - <view animation="{{animationData}}" class="drawer_box" wx:if="{{showModalStatus}}">
 - <view class="drawer_title">弹窗标题</view>
 - <view class="drawer_content">
 - </view>
 - <view class="btn_ok" bindtap="powerDrawer" data-statu="close">确定</view>
 - </view>
 
	index.wxss
	 
- .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; /*超出父盒子高度可滚动*/
 - }
 - .btn_ok{
 - padding: 10px;
 - font: 20px "microsoft yahei";
 - text-align: center;
 - border-top: 1px solid #E8E8EA;
 - color: #3CC51F;
 - }
 
	index.js
	 
- Page({
 - data: {
 - showModalStatus: false
 - },
 - powerDrawer: function (e) {
 - var currentStatu = e.currentTarget.dataset.statu;
 - this.util(currentStatu)
 - },
 - util: function (currentStatu) {
 - var animation = wx.createAnimation({
 - duration: 200,
 - timingFunction: "linear",
 - delay: 0
 - });
 - this.animation = animation;
 - animation.opacity(0).rotateX(-100).step();
 - this.setData({
 - animationData: animation.export()
 - })
 - setTimeout(function () {
 - animation.opacity(1).rotateX(0).step();
 - this.setData({
 - animationData: animation
 - })
 - if (currentStatu == "close") {
 - this.setData(
 - {
 - showModalStatus: false
 - }
 - );
 - }
 - }.bind(this), 200)
 - if (currentStatu == "open") {
 - this.setData(
 - {
 - showModalStatus: true
 - }
 - );
 - }
 - }
 - })
 
	
新闻热点
疑难解答