微信小程序实现底部弹出模态框


Posted in Javascript onNovember 18, 2020

本文实例为大家分享了微信小程序实现底部弹出模态框的具体代码,供大家参考,具体内容如下

微信小程序实现底部弹出模态框

代码:

<view class="modals modals-bottom-dialog" hidden="{{hideModal}}" style="width:100%;height:{{widheight}}px">
 <view class="modals-cancel" bindtap="hideModal"></view>
 <view class="bottom-dialog-body bottom-pos" animation="{{animationData}}">
 <view class="comment_top">
  <view></view>
  <view class="comment_num">{{comment.length}}条评论</view>
  <view class="comment_close" bindtap="hideModal">×</view>
 </view>
 <view class="comment_list">
  <view class="comment_li" wx:for="{{comment}}" wx:key="{{index}}">
  <image class="comment_li_img" src="{{item.headpic}}"></image>
  <view class="comment_li_info">
   <view class="comment_li_name">{{item.nickname}}</view>
   <view class="comment_li_content">{{item.memo}}
   <text class="comment_li_date">9-24</text>
   </view>
  </view>
  </view>
 </view>
 <view class="comment_inputbox">
  <input class="comment_input" maxlength="120" adjust-position value="{{commentform}}" bindinput="commentinput" placeholder="有何高见,讲来听听"></input>
  <view class="comment_sendbtn" bindtap="sendcomment">发送</view>
 </view>
 </view>
</view>

CSS:

/* 评论 */
/*模态框*/
.modals{
 position:fixed;
 z-index: 100000;
 top:0; 
 left: 0; 
 right:0; 
 bottom: 0;
 }
.modals-cancel{
 position:absolute; 
 z-index:1000; 
 top:0; 
 left: 0; 
 right:0; 
 bottom: 0; 
 /* background-color: rgba(0,0,0,.5); */
 }
.bottom-dialog-body{
 width: 99%;
 margin: 0 auto;
 position:absolute; 
 z-index:10001; 
 bottom:0; 
 left:0; 
 right:0; 
 height:65%; 
 background-color: #fff;
 border-top-left-radius: 10rpx;
 border-top-right-radius: 10rpx;
 overflow: hidden;
 display: flex;
 flex-direction: column;
 }
/*动画前初始位置*/
.bottom-pos{
 -webkit-transform:translateY(100%);
 transform:translateY(100%);
}
.comment_top{
 width: 100%;
 display: flex;
 justify-content: space-between;
 align-items: center;
 border-bottom: 1rpx solid #f2f2f2;
 padding: 10rpx 24rpx;
 box-sizing: border-box;
}
.comment_num{
 font-size: 30rpx;
}
.comment_close{
 font-size: 62rpx;
 line-height: 50rpx;
}
.comment_list{
 flex: 1;
 overflow: hidden;
}
.comment_li{
 display: flex;
 padding: 10rpx 24rpx;
 box-sizing: border-box;
}
.comment_li_img{
 width: 40rpx;
 height: 40rpx;
 border-radius: 50%;
 margin-right: 16rpx;
}
.comment_li_info{
 flex: 1;
}
.comment_li_name{
 font-size: 30rpx;
}
.comment_li_content{
 font-size: 28rpx;
}
.comment_li_date{
 color: #999;
 font-size: 24rpx;
 margin-left: 20rpx;
}
.comment_inputbox{
 display: flex;
 padding: 20rpx 24rpx;
 box-sizing: border-box;
 align-items: center;
 justify-content: space-between;
 border-top: 1rpx solid #f2f2f2;
}
.comment_input{
 font-size: 30rpx;
 flex: 1;
}
.comment_sendbtn{
 font-size: 30rpx;
 background: #dd5923;
 color: #fff;
 padding: 5rpx 18rpx;
 border-radius: 10rpx;
}

js:

Page({
 data: {
 hideModal: true, //模态框的状态 true-隐藏 false-显示
 animationData: {},
 },
 
 // 显示遮罩层
 showModal: function () {
 var that = this;
 that.setData({
  hideModal: false
 })
 var animation = wx.createAnimation({
  duration: 600,//动画的持续时间 默认400ms 数值越大,动画越慢 数值越小,动画越快
  timingFunction: 'ease',//动画的效果 默认值是linear
 })
 this.animation = animation
 setTimeout(function () {
  that.fadeIn();//调用显示动画
 }, 200)
 },

 // 隐藏遮罩层
 hideModal: function () {
 var that = this;
 var animation = wx.createAnimation({
  duration: 800,//动画的持续时间 默认400ms 数值越大,动画越慢 数值越小,动画越快
  timingFunction: 'ease',//动画的效果 默认值是linear
 })
 this.animation = animation
 that.fadeDown();//调用隐藏动画 
 setTimeout(function () {
  that.setData({
  hideModal: true
  })
 }, 720)//先执行下滑动画,再隐藏模块

 },

 //动画集
 fadeIn: function () {
 this.animation.translateY(0).step()
 this.setData({
  animationData: this.animation.export()//动画实例的export方法导出动画数据传递给组件的animation属性
 })
 },
 fadeDown: function () {
 this.animation.translateY(300).step()
 this.setData({
  animationData: this.animation.export(),
 })
 },
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS启动应用程序的一个简单例子
May 11 Javascript
js中将具有数字属性名的对象转换为数组
Mar 06 Javascript
原生javascript实现简单的datagrid数据表格
Jan 02 Javascript
Bootstrap精简教程
Nov 27 Javascript
JS 通过系统时间限定动态添加 select option的实例代码
Jun 09 Javascript
JavaScript中关于iframe滚动条的去除和保留
Nov 17 Javascript
基于JS设计12306登录页面
Dec 28 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
Jan 01 Javascript
详解Javascript 中的 class、构造函数、工厂函数
Dec 20 Javascript
webpack项目轻松混用css module的方法
Jun 12 Javascript
通过说明与示例了解js五种设计模式
Jun 17 Javascript
Vue export import 导入导出的多种方式与区别介绍
Feb 12 Javascript
微信小程序实现左滑删除效果
Nov 18 #Javascript
详解vue实现坐标拾取器功能示例
Nov 18 #Vue.js
JQuery+drag.js上传图片并且实现图片拖曳
Nov 18 #jQuery
Vue如何循环提取对象数组中的值
Nov 18 #Vue.js
vue在图片上传的时候压缩图片
Nov 18 #Vue.js
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 #Vue.js
微信小程序实现多张图片上传功能
Nov 18 #Javascript
You might like
虹吸壶煮咖啡26个注意事项
2021/03/03 冲泡冲煮
动态新闻发布的实现及其技巧
2006/10/09 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
PHP文件上传类实例详解
2016/04/08 PHP
php格式文件打开的四种方法
2018/02/24 PHP
Yii框架的redis命令使用方法简单示例
2019/10/15 PHP
学习ExtJS TextField常用方法
2009/10/07 Javascript
在浏览器中获取当前执行的脚本文件名的代码
2011/07/19 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
jquery实现点击弹出可放大居中及关闭的对话框(附demo源码下载)
2016/05/10 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
详解微信小程序Radio选中样式切换
2017/07/06 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
JS使用Date对象实时显示当前系统时间简单示例
2018/08/23 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
使用JS监听键盘按下事件(keydown event)
2019/11/07 Javascript
探究Python中isalnum()方法的使用
2015/05/18 Python
python中PIL安装简单教程
2016/04/21 Python
python 线程的暂停, 恢复, 退出详解及实例
2016/12/06 Python
Python将图片转换为字符画的方法
2020/06/16 Python
Python爬虫框架Scrapy常用命令总结
2018/07/26 Python
python对象与json相互转换的方法
2019/05/07 Python
Python numpy数组转置与轴变换
2019/11/15 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
银行求职信范文
2014/05/26 职场文书
总经理年会致辞
2015/07/29 职场文书
2016七夕情人节感言
2015/12/09 职场文书
读鲁迅先生的经典名言
2019/08/20 职场文书
2019幼儿园感恩节活动策划书
2019/11/28 职场文书