资讯专栏INFORMATION COLUMN

如何使用微信小程序开发一个弹窗页面(附源码)

刘玉平 / 1337人阅读

摘要:在小程序的开发过程中,我们肯定会遇到开发一个弹窗页面的情况,我们先看一下小程序官方对于弹窗页面的解释。首页我们先看一下动态的效果图我们首先看到的是首页代码原创作者小程序微信小程序开发者社区点击进入弹窗演示页面当然了,重点不在于此。

在小程序的开发过程中,我们肯定会遇到开发一个弹窗页面的情况,我们先看一下小程序官方对于弹窗页面的解释。API的接口如下

从官方给出的代码示例来看,想当简单,就像一个asert,并不能看出弹窗的真实需求。所以今天HTML51.COM就写了一个弹窗小程序教程,供大家学习参考。
首页我们先看一下动态的效果图:

我们首先看到的是首页代码:


    CopyRight:All Right Reserved
    原创作者:51小程序
    微信小程序开发者社区
    HTML51.COM
    
    

当然了,重点不在于此。
index.wxml的代码如下:

  
 
   
    
  弹窗标题 
   
     
       
       
     
     
       
       
     
     
       
       
     
     
       
       
     
     
       
       
     
   
  确定 

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;  
} 
   
.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;} 

index.js的代码如下:

Page({ 
  data: { 
    showModalStatus: false 
  }, 
  powerDrawer: function (e) { 
    var currentStatu = e.currentTarget.dataset.statu;  
    this.util(currentStatu) 
  }, 
  util: function(currentStatu){ 
    /* 动画部分 */ 
    // 第1步:创建动画实例   
    var animation = wx.createAnimation({ 
      duration: 200,  //动画时长  
      timingFunction: "linear", //线性  
      delay: 0  //0则不延迟  
    });  
       
    // 第2步:这个动画实例赋给当前的动画实例  
    this.animation = animation;  
   
    // 第3步:执行第一组动画  
    animation.opacity(0).rotateX(-100).step();  
   
    // 第4步:导出动画对象赋给数据对象储存  
    this.setData({ 
      animationData: animation.export() 
    }) 
       
    // 第5步:设置定时器到指定时候后,执行第二组动画  
    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 
        } 
      );  
    } 
  } 
   
})

源码下载地址:http://bbs.html51.com/t-1342-...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/50570.html

相关文章

  • 微信小程开发过程中tabbar页面显示的相关问题及解决办法

    摘要:在微信小程序的开发过程中如果有使用过的同学,我相信一定会遇到一些困扰。其他关于开发相关的问题可以看微信小程序开发教程教你微信小程序中如何实在的切换附源码微信小程序开发中底部导航栏的使用 在微信小程序的开发过程中如果有使用过tabbar的同学,我相信一定会遇到一些困扰。为什么有些时候代码中明明已经在app.json里面增加了tabbar,可以页面中就是不显示呢?可不可以有些页面显示tab...

    马永翠 评论0 收藏0
  • 微信小程开发中遇到的问题及解决办法(一)

    摘要:社区中的说法大概是这个是因为小程序架构的原因导致事件有一定的延迟,最终使的改变不够及时导致的。折中解决办法隐藏,使用结构,重新渲染分享图。 1、整个页面覆盖的自定义弹窗,滑动弹窗中的内容,页面内容也会滑动。如果快速滚动弹窗,页面内容和弹窗中的内容有时会错乱。这个问题大多出现在苹果手机上,类似事件事件穿透的效果。 自定义弹窗截图如下:showImg(https://segmentfaul...

    pakolagij 评论0 收藏0
  • 微信小程开发中遇到的问题及解决办法(一)

    摘要:社区中的说法大概是这个是因为小程序架构的原因导致事件有一定的延迟,最终使的改变不够及时导致的。折中解决办法隐藏,使用结构,重新渲染分享图。 1、整个页面覆盖的自定义弹窗,滑动弹窗中的内容,页面内容也会滑动。如果快速滚动弹窗,页面内容和弹窗中的内容有时会错乱。这个问题大多出现在苹果手机上,类似事件事件穿透的效果。 自定义弹窗截图如下:showImg(https://segmentfaul...

    tinyq 评论0 收藏0
  • 微信小程开发中遇到的问题及解决办法(一)

    摘要:社区中的说法大概是这个是因为小程序架构的原因导致事件有一定的延迟,最终使的改变不够及时导致的。折中解决办法隐藏,使用结构,重新渲染分享图。 1、整个页面覆盖的自定义弹窗,滑动弹窗中的内容,页面内容也会滑动。如果快速滚动弹窗,页面内容和弹窗中的内容有时会错乱。这个问题大多出现在苹果手机上,类似事件事件穿透的效果。 自定义弹窗截图如下:showImg(https://segmentfaul...

    lowett 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<