微信小程序商品详情页底部弹出框


Posted in Javascript onNovember 22, 2019

电商项目中商品详情页,加入购物车或者下单时可以选择商品属性的弹出框,通过设置view的平移动画,达到从底部弹出的样式

1.js代码(一般情况下只调用显示对话框的函数,当点击对话框外部的时候,对话框可以消失)

//显示对话框
 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)
 }

2.wxss代码

/*使屏幕变暗 */
.commodity_screen {
 width: 100%;
 height: 100%;
 position: fixed;
 top: 0;
 left: 0;
 background: #000;
 opacity: 0.2;
 overflow: hidden;
 z-index: 1000;
 color: #fff;
}
/*对话框 */
.commodity_attr_box {
 height: 300rpx;
 width: 100%;
 overflow: hidden;
 position: fixed;
 bottom: 0;
 left: 0;
 z-index: 2000;
 background: #fff;
 padding-top: 20rpx;
}

3.wxml代码 (其中的showModalStatus变量要现在js代码中的data对象中初始化,初始化为false,因为最初的时候对话框并没有显示)

<!--屏幕背景变暗的背景 -->
 <view class="commodity_screen" bindtap="hideModal" wx:if="{{showModalStatus}}"></view>
 <!--弹出框 -->
 <view animation="{{animationData}}" class="commodity_attr_box" wx:if="{{showModalStatus}}">在这里写弹出框里面的布局</view>

4.设置点击事件,给目标view设置点击函数showModal()或者hideModal()

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

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

Javascript 相关文章推荐
js 事件处理函数间的Event物件是否全等
Apr 08 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
Sep 13 Javascript
js DOM 元素ID就是全局变量
Sep 20 Javascript
jquery清空textarea等输入框实现代码
Apr 22 Javascript
js禁止页面使用右键(简单示例代码)
Nov 13 Javascript
jQuery拖动布局其结果保存到数据库
Oct 09 Javascript
微信小程序 教程之列表渲染
Oct 18 Javascript
vue2.0 与 bootstrap datetimepicker的结合使用实例
May 22 Javascript
在vue里面设置全局变量或数据的方法
Mar 09 Javascript
Node.js 使用AngularJS的方法示例
May 11 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
Nov 04 Javascript
用JS创建一个录屏功能
Nov 11 Javascript
小程序实现图片预览裁剪插件
Nov 22 #Javascript
Vue数据双向绑定底层实现原理
Nov 22 #Javascript
Node如何后台数据库使用增删改查功能
Nov 21 #Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
Nov 21 #Javascript
微信小程序动态设置图片大小的方法
Nov 21 #Javascript
通过原生vue添加滚动加载更多功能
Nov 21 #Javascript
小程序api实现promise封装过程解析
Nov 21 #Javascript
You might like
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
2017/06/11 PHP
类似框架的js代码
2006/11/09 Javascript
用js实现计算加载页面所用的时间
2010/04/02 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
js浮点数保留两位小数点示例代码(四舍五入)
2013/12/26 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
node.js中的fs.readdirSync方法使用说明
2014/12/17 Javascript
Node.js读写文件之批量替换图片的实现方法
2016/09/07 Javascript
AngularJS+Bootstrap实现多文件上传与管理
2016/11/08 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
vue2.0实现前端星星评分功能组件实例代码
2018/02/12 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
jQuery实现简单的Ajax调用功能示例
2019/02/15 jQuery
详解nodejs 开发企业微信第三方应用入门教程
2019/03/12 NodeJs
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python调用windows api锁定计算机示例
2014/04/17 Python
Python字符串切片操作知识详解
2016/03/28 Python
python3.x上post发送json数据
2018/03/04 Python
Python GUI学习之登录系统界面篇
2019/08/21 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
2020/04/14 Python
Wojas罗马尼亚网站:波兰皮鞋品牌
2018/11/01 全球购物
大学生应聘推荐信范文
2013/11/19 职场文书
教师党员公开承诺事项
2014/05/28 职场文书
电子商务专业毕业生自荐书
2014/06/22 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
统计员岗位职责
2015/02/11 职场文书
水电施工员岗位职责
2015/04/11 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
vue项目多环境配置(.env)的实现
2021/07/21 Vue.js
Python+OpenCV实现图片中的圆形检测
2022/04/07 Python