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


Posted in Javascript onNovember 16, 2020

电商项目中商品详情页,加入购物车或者下单时可以选择商品属性的弹出框,通过设置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 相关文章推荐
谈谈关于JavaScript 中的 MVC 模式
Apr 11 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
Dec 28 Javascript
JS实现跟随鼠标的链接文字提示框效果
Aug 06 Javascript
使用JS读取XML文件的方法
Nov 25 Javascript
js数组去重的hash方法
Dec 22 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
Dec 23 Javascript
Vuex 进阶之模块化组织详解
Jan 12 Javascript
vue项目中使用百度地图的方法
Jun 08 Javascript
javascript和php使用ajax通信传递JSON的实例
Aug 21 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
Nov 27 Javascript
vue路由对不同界面进行传参及跳转的总结
Apr 20 Javascript
前端使用crypto.js进行加密的函数代码
Aug 16 Javascript
你点的 ES6一些小技巧,请查收
Apr 25 #Javascript
vue 组件使用中的一些细节点
Apr 25 #Javascript
Vue中使用vue-i18插件实现多语言切换功能
Apr 25 #Javascript
vue项目中vue-i18n和element-ui国际化开发实现过程
Apr 25 #Javascript
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
Apr 25 #Javascript
vue短信验证性能优化如何写入localstorage中
Apr 25 #Javascript
详解Vue.js中.native修饰符
Apr 24 #Javascript
You might like
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
PHP导出MySQL数据到Excel文件(fputcsv)
2011/07/03 PHP
PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
php求今天、昨天、明天时间戳的简单实现方法
2016/07/28 PHP
php pdo操作数据库示例
2017/03/10 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
js 利用className得到对象的实现代码
2011/11/15 Javascript
用C/C++来实现 Node.js 的模块(二)
2014/09/24 Javascript
详解Javascript 装载和执行
2014/11/17 Javascript
js实现横向百叶窗效果网页切换动画效果的方法
2015/03/02 Javascript
jquery实现点击向下展开菜单项(伸缩导航)效果
2015/08/22 Javascript
JavaScript中数组的合并以及排序实现示例
2015/10/24 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
2018/08/24 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
JS闭包原理与应用经典示例
2018/12/20 Javascript
浅谈VUE防抖与节流的最佳解决方案(函数式组件)
2019/05/22 Javascript
[03:30]DOTA2完美“圣”典精彩集锦
2016/12/27 DOTA
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
Python3模拟curl发送post请求操作示例
2019/05/03 Python
学会python自动收发邮件 代替你问候女友
2020/05/20 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
北大青鸟学生求职信
2013/09/24 职场文书
幼儿园教师请假制度
2014/01/16 职场文书
个人优缺点自我评价
2014/01/27 职场文书
支部组织生活会方案
2014/06/10 职场文书
工作态度不好检讨书
2015/05/06 职场文书
2015年度女工工作总结
2015/10/22 职场文书
MySQL8.0的WITH查询详情
2021/08/30 MySQL
Python 全局空间和局部空间
2022/04/06 Python
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技