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


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 相关文章推荐
YUI 读码日记之 YAHOO.lang.is*
Mar 22 Javascript
IE bug table元素的innerHTML
Jan 11 Javascript
JS 遮照层实现代码
Mar 31 Javascript
javascript中的window.location.search方法简介
Sep 02 Javascript
js中的eventType事件及其浏览器支持性介绍
Nov 29 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 Javascript
全面解析Bootstrap中transition、affix的使用方法
May 30 Javascript
angularjs实现文字上下无缝滚动特效代码
Sep 04 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
Nov 25 Javascript
JS简单实现滑动加载数据的方法示例
Oct 18 Javascript
通过实例解析js简易模块加载器
Jun 17 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
Jan 08 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程序员不应该忽略的3点
2015/10/09 PHP
盘点PHP和ASP.NET的10大对比!
2015/12/24 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
AngularJS使用ng-app自动加载bootstrap框架问题分析
2017/01/04 Javascript
Node.js Express 框架 POST方法详解
2017/01/23 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
python使用range函数计算一组数和的方法
2015/05/07 Python
Python正则表达式实现截取成对括号的方法
2017/01/06 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
python中实现将多个print输出合成一个数组
2018/04/19 Python
Python实现的knn算法示例
2018/06/14 Python
详解django+django-celery+celery的整合实战
2019/03/19 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
python根据文本生成词云图代码实例
2019/11/15 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
美国牙科折扣计划:DentalPlans.com
2019/08/26 全球购物
化学相关工作求职信
2013/10/02 职场文书
学前教育专业毕业生自荐信
2013/10/03 职场文书
高一家长会邀请函
2014/01/12 职场文书
售后求职信范文
2014/03/15 职场文书
高中教师评语大全
2014/04/25 职场文书
单位活动策划方案
2014/08/17 职场文书
终止劳动合同证明书样本
2014/11/19 职场文书
辩护意见书
2015/06/04 职场文书
2016年校长新年寄语
2015/08/17 职场文书
物业管理交接协议书
2016/03/24 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python
Java无向树分析 实现最小高度树
2022/04/09 Javascript