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


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 简单抽屉效果的实现代码
Mar 09 Javascript
引用外部js乱码问题分析及解决方案
Apr 12 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
Nov 18 Javascript
js简单抽奖代码
Jan 16 Javascript
JavaScript实现简单的二级导航菜单实例
Apr 15 Javascript
javascript检测两个数组是否相似
May 19 Javascript
基于jPlayer三分屏的制作方法
Dec 21 Javascript
JavaScript实现简单图片轮播效果
Aug 21 Javascript
使用socket.io实现简单聊天室案例
Jan 02 Javascript
解决vue-cli脚手架打包后vendor文件过大的问题
Sep 27 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
Dec 07 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
Oct 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
DISCUZ 论坛管理员密码忘记的解决方法
2009/05/14 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
PHP加密解密实例分析
2015/12/25 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
PHP内存缓存功能memcached示例
2016/10/19 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
JavaScript去掉数组中的重复元素
2011/01/13 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
IE中鼠标经过option触发mouseout的解决方法
2015/01/29 Javascript
JS中获取函数调用链所有参数的方法
2015/05/07 Javascript
jQuery中extend()和fn.extend()方法详解
2015/06/03 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
Python获取Windows或Linux主机名称通用函数分享
2014/11/22 Python
Python解惑之True和False详解
2017/04/24 Python
Python中使用多进程来实现并行处理的方法小结
2017/08/09 Python
NumPy 数组使用大全
2019/04/25 Python
Python3.5装饰器典型案例分析
2019/04/30 Python
python实现windows倒计时锁屏功能
2019/07/30 Python
python Event事件、进程池与线程池、协程解析
2019/10/25 Python
基于python3.7利用Motor来异步读写Mongodb提高效率(推荐)
2020/04/29 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
收集的7个CSS3代码生成工具
2010/04/17 HTML / CSS
CSS3实现可爱的小黄人动画
2016/07/11 HTML / CSS
村捐赠仪式答谢词
2014/01/21 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
高中班主任评语大全
2014/04/25 职场文书
专业技术人员年度考核评语
2014/12/31 职场文书
2015年九一八事变纪念活动实施方案
2015/05/06 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书
2021好看的国漫排行榜前十名 《完美世界》上榜,《元龙》排名第一
2022/03/18 国漫
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL