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


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 Select下拉列表框进行多选、移除、交换内容的具体实现方法
Aug 13 Javascript
深入探讨JavaScript String对象
Mar 09 Javascript
基于JavaScript的操作系统你听说过吗?
Jan 28 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
May 13 Javascript
利用Node.js制作爬取大众点评的爬虫
Sep 22 Javascript
js编写选项卡效果
May 23 Javascript
React入门教程之Hello World以及环境搭建详解
Jul 11 Javascript
轻松理解vue的双向数据绑定问题
Oct 30 Javascript
webuploader实现上传图片到服务器功能
Aug 16 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
Sep 23 Javascript
你可能从未使用过的11+个JavaScript特性(小结)
Jan 08 Javascript
Vue 数据绑定的原理分析
Nov 16 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
BBS(php &amp; mysql)完整版(五)
2006/10/09 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
php微信公众号开发(4)php实现自定义关键字回复
2016/12/15 PHP
模仿jQuery each函数的链式调用
2009/07/22 Javascript
利用javascript/jquery对上传文件格式过滤的方法
2009/07/25 Javascript
JS中showModalDialog 的使用解析
2013/04/17 Javascript
js匿名函数的调用示例(形式多种多样)
2014/08/20 Javascript
jQuery中innerHeight()方法用法实例
2015/01/19 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
详解JavaScript的变量和数据类型
2015/11/27 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
JavaScript常用事件介绍
2019/01/21 Javascript
javascript实现获取中文汉字拼音首字母
2020/05/19 Javascript
[37:50]VP vs TNC Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
python显示天气预报
2014/03/02 Python
python异步任务队列示例
2014/04/01 Python
python简单猜数游戏实例
2015/07/09 Python
Django自定义manage命令实例代码
2018/02/11 Python
python 公共方法汇总解析
2019/09/16 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
Web前端页面跳转并取到值
2017/04/24 HTML / CSS
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
Ibatis的核心配置文件都有什么
2014/09/08 面试题
工作表扬信的范文
2014/01/10 职场文书
节能环保口号
2014/06/12 职场文书
法制宣传标语
2014/06/23 职场文书
大学活动总结模板
2014/07/10 职场文书
开展党的群众路线教育实践活动情况汇报
2014/11/05 职场文书
明星邀请函
2015/02/02 职场文书
父亲节寄语大全
2015/02/27 职场文书
2019邀请函格式及范文
2019/05/20 职场文书