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


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 相关文章推荐
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
Feb 03 Javascript
基于JavaScript 声明全局变量的三种方式详解
May 07 Javascript
JQuery表格内容过滤的实现方法
Jul 05 Javascript
浅析jQuery中调用ajax方法时在不同浏览器中遇到的问题
Jun 11 Javascript
浅谈JavaScript数据类型及转换
Feb 28 Javascript
javascript中加var和不加var的区别 你真的懂吗
Jan 06 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
Oct 28 Javascript
EasyUI学习之DataGird分页显示数据
Dec 29 Javascript
jQuery.Validate表单验证插件的使用示例详解
Jan 04 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
微信小程序可滑动月日历组件使用详解
Oct 21 Javascript
原生JavaScript实现购物车
Jan 10 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
实现 win2003 下 mysql 数据库每天自动备份
2006/12/06 PHP
php压缩多个CSS为一个css的代码并缓存
2011/04/21 PHP
PHP连接MongoDB示例代码
2012/09/06 PHP
重新认识php array_merge函数
2014/08/31 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
在 Laravel 项目中使用 webpack-encore的方法
2019/07/21 PHP
javascript replace()正则替换实现代码
2010/02/26 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
JS实现文字向下滚动完整实例
2015/02/06 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
JavaScript实现Iterator模式实例分析
2015/06/09 Javascript
JavaScript中的闭包
2016/02/24 Javascript
深入理解JavaScript中的对象复制(Object Clone)
2016/05/18 Javascript
jquery制做精致的倒计时特效
2016/06/13 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
2017/06/28 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
vue axios封装及API统一管理的方法
2019/04/18 Javascript
微信小程序开发(二):页面跳转并传参操作示例
2020/06/01 Javascript
Python Requests安装与简单运用
2016/04/07 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
python实现手机通讯录搜索功能
2018/02/22 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
Python字典生成式、集合生成式、生成器用法实例分析
2020/01/07 Python
python中前缀运算符 *和 **的用法示例详解
2020/05/28 Python
Python-openCV开运算实例
2020/07/05 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
如何在存储过程中使用Loop
2016/01/05 面试题
施工工地安全标语
2014/06/07 职场文书
安全生产月宣传标语
2014/10/06 职场文书
2015年街道除四害工作总结
2015/05/15 职场文书
安全教育日主题班会
2015/08/13 职场文书