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


Posted in Javascript onNovember 18, 2020

微信小程序的底部弹出框,供大家参考,具体内容如下

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

wxml

<!-- 弹出框 start -->
<view class="dialog_screen" bindtap="hideModal" wx:if="{{showModalStatus}}"></view>
<view animation="{{animationData}}" class="dialog_attr_box" wx:if="{{showModalStatus}}">
 <view style='background:white;position: relative;overflow: hidden;'>
 <view class='dialog_title'>选择系列</view>
 <view wx:for="{{list}}" wx:key="name" class='dialog_content'>
  <view class="{{item.status==0?'type_nor':'type_pre'}}" bindtap='typeClick' data-index='{{index}}'>{{item.txt}}</view>
 </view>
 </view>
</view>
<!-- 弹出框 end -->

wxss

/* dialog start */

.dialog_screen {
 width: 100%;
 height: 100%;
 position: fixed;
 top: 0;
 left: 0;
 background: #000;
 opacity: 0.2;
 overflow: hidden;
 z-index: 1000;
 color: #fff;
}

.dialog_attr_box {
 width: 100%;
 overflow: hidden;
 position: fixed;
 bottom: 0;
 left: 0;
 z-index: 2000;
 background: #fff;
 padding-top: 1px;
}

.dialog_title {
 font-size: 16px;
 height: 30px;
 display: flex;
 align-items: center;
 padding: 10px;
 background: #80cbc4;
 color: white;
}

.dialog_content {
 position: relative;
 float: left;
 padding: 10px 10px;
 width: 25%;
 box-sizing: border-box;
}

/* dialog end */

js

var postData = require('../../../data/StoreData.js');
var typeList = postData.postListData;
Page({
 data: {
 list: typeList
 },
 onLoad: function(options) {
 var id = options.id; //页面跳转传过来的值
 //初始化默认一部分数据已选中
 for (var i = 0; i < typeList.length; i++) {
  if (i % 2 == 0) {
  typeList[i].status = 0;
  } else {
  typeList[i].status = 1;
  }
 }
 this.setData({
  list: typeList
 });
 },
 showModal: function() {
 // 显示遮罩层
 var animation = wx.createAnimation({
  duration: 200,
  timingFunction: "linear",
  delay: 0
 })
 this.animation = animation
 animation.translateY(300).step()
 this.setData({
  animationData: animation.export(),
  showModalStatus: true
 })
 setTimeout(function() {
  animation.translateY(0).step()
  this.setData({
  animationData: animation.export()
  })
 }.bind(this), 200)
 },
 hideModal: function() {
 // 隐藏遮罩层
 var animation = wx.createAnimation({
  duration: 200,
  timingFunction: "linear",
  delay: 0
 })
 this.animation = animation
 animation.translateY(300).step()
 this.setData({
  animationData: animation.export(),
 })
 setTimeout(function() {
  animation.translateY(0).step()
  this.setData({
  animationData: animation.export(),
  showModalStatus: false
  })
 }.bind(this), 200)
 },
 typeClick: function(e) {
 var index = e.target.dataset.index;
 for (var i = 0; i < typeList.length; i++) {
  if (i == index) {
  var curStatus = typeList[i].status;
  if(curStatus == 0){
   typeList[i].status = 1;
  }else{
   typeList[i].status=0;
  }
  break;
  }
 }
 this.setData({
  list: typeList
 });
 }
})

data

var list = [{
 "id": 1,
 "txt": "AA"
 },
 {
 "id": 2,
 "txt": "BB"
 },
 {
 "id": 3,
 "txt": "CC"
 },
 {
 "id": 4,
 "txt": "DD"
 },
 {
 "id": 5,
 "txt": "EE"
 },
 {
 "id": 6,
 "txt": "FF"
 },
 {
 "id": 7,
 "txt": "RR"
 },
 {
 "id": 8,
 "txt": "HH"
 },
 {
 "id": 9,
 "txt": "KK"
 },
 {
 "id": 10,
 "txt": "WW"
 }
]
module.exports = {
 postListData: list
}

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

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

Javascript 相关文章推荐
JavaScript 数组的 uniq 方法
Jan 23 Javascript
javascript hashtable 修正版 下载
Dec 30 Javascript
jquery中dom操作和事件的实例学习 下拉框应用
Dec 01 Javascript
使用JavaScript获取电池状态的方法
May 03 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
Oct 19 Javascript
jQuery基本过滤选择器用法示例
Sep 09 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 Javascript
微信小程序template模板实例详解
Oct 27 Javascript
动态加载JavaScript文件的3种方式
May 05 Javascript
linux 后台运行node服务指令方法
May 23 Javascript
微信小程序滑动选择器的实现代码
Aug 10 Javascript
JavaScript控制台的更多功能
Apr 28 Javascript
微信小程序实现弹幕墙(祝福墙)
Nov 18 #Javascript
一篇超完整的Vue新手入门指导教程
Nov 18 #Vue.js
基于Cesium绘制抛物弧线
Nov 18 #Javascript
vue3.0实现点击切换验证码(组件)及校验
Nov 18 #Vue.js
js实现简易计算器小功能
Nov 18 #Javascript
微信小程序实现购物车功能
Nov 18 #Javascript
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 #Vue.js
You might like
星际玩家的三大定律
2020/03/04 星际争霸
最小化数据传输――在客户端存储数据
2006/10/09 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
PHP定义字符串的四种方式详解
2018/02/06 PHP
基于jquery &amp; json的省市区联动代码
2012/06/26 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
Jquery组件easyUi实现手风琴(折叠面板)示例
2016/08/23 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
javascript输出AscII码扩展集中的字符方法
2016/12/26 Javascript
CentOS 安装NodeJS V8.0.0的方法
2017/06/15 NodeJs
将 vue 生成的 js 上传到七牛的实例
2017/07/28 Javascript
关于vuejs中v-if和v-show的区别及v-show不起作用问题
2018/03/26 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
python 生成器协程运算实例
2017/09/04 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
python使用beautifulsoup4爬取酷狗音乐代码实例
2019/12/04 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
Python爬虫requests库多种用法实例
2020/05/28 Python
如何理解python中数字列表
2020/05/29 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
django使用多个数据库的方法实例
2021/03/04 Python
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
我的求职计划书
2014/01/10 职场文书
应聘文员自荐信范文
2014/03/11 职场文书
银行竞聘演讲稿
2014/05/16 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
2014年店长工作总结
2014/11/17 职场文书
公务员个人年终总结
2015/02/12 职场文书
立项申请报告范本
2015/05/15 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
微信小程序实现录音Record功能
2021/05/09 Javascript