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


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 相关文章推荐
基于jQuery制作迷你背词汇工具
Jul 27 Javascript
JS获取url链接字符串 location.href
Dec 23 Javascript
JS判断两个时间大小的示例代码
Jan 28 Javascript
JavaScript中的Promise使用详解
Jun 24 Javascript
js+html5实现可在手机上玩的拼图游戏
Jul 17 Javascript
基于jQuery实现动态数字展示效果
Aug 12 Javascript
基于Jquery和html5的7款个性化地图插件
Nov 17 Javascript
基于jQuery实现瀑布流页面
Apr 11 jQuery
ionic实现底部分享功能
May 11 Javascript
Angular事件之不同组件间传递数据的方法
Nov 15 Javascript
JavaScript中十种一步拷贝数组的方法实例详解
Apr 22 Javascript
vue实现点击按钮下载文件功能
Oct 11 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
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
在JavaScript中调用php程序
2009/03/09 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
php实现简单四则运算器
2020/11/29 PHP
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
深入理解JavaScript系列(39):设计模式之适配器模式详解
2015/03/04 Javascript
js判断手机号是否正确并返回的实现代码
2017/01/17 Javascript
jQuery实现验证码功能
2017/03/17 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
详解React服务端渲染从入门到精通
2019/03/28 Javascript
详解JS预解析原理
2020/06/16 Javascript
Vue实现返回顶部按钮实例代码
2020/10/21 Javascript
ant-design-vue中tree增删改的操作方法
2020/11/03 Javascript
pygame游戏之旅 按钮上添加文字的方法
2018/11/21 Python
python安装scipy的步骤解析
2019/09/28 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
运动鞋、足球鞋和慕尼黑球衣:Sport Münzinger
2019/08/26 全球购物
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
六十岁生日答谢词
2014/01/10 职场文书
销售员岗位职责
2014/06/09 职场文书
法人单位适用的授权委托书
2014/09/19 职场文书
群众路线查摆问题整改措施
2014/10/10 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
2014年房地产工作总结范文
2014/11/19 职场文书
作弊检讨书
2015/01/27 职场文书
工作经历证明范本
2015/06/15 职场文书
《狼牙山五壮士》读后感:宁死不屈,视死如归
2019/08/16 职场文书