微信小程序的底部弹出框,供大家参考,具体内容如下
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 }
为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》www.887551.com为大家精心整理的,希望喜欢。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。