微信小程序实现页面左右滑动


Posted in Javascript onNovember 16, 2020

本文实例为大家分享了微信小程序实现页面左右滑动的具体代码,供大家参考,具体内容如下

效果:

微信小程序实现页面左右滑动

wxml文件

<view bindtouchmove="tap_drag" bindtouchend="tap_end" bindtouchstart="tap_start" class="page-top {{open ? ['c-state','cover'] : ''}} ">
  <view bindtap="tap_ch" style="{{open ? 'color: red;font-weight: bold;' : ''}}">{{open ? '手指左滑' : '手指右滑'}}</view>
  <view class='content'> 
   <text>我是内容我是内容!</text>
  </view>
</view>

js文件

data: {
open: false,
// mark 是指原点x轴坐标
mark: 0,
// newmark 是指移动的最新点的x轴坐标 
newmark: 0,
istoright: true
 },
  // 点击左上角小图标事件
 tap_ch: function(e) {
  if (this.data.open) {
   this.setData({
    open: false
   });
  } else {
   this.setData({
    open: true
   });
  }
 },
 
 tap_start: function(e) {
  // touchstart事件
  // 把手指触摸屏幕的那一个点的 x 轴坐标赋值给 mark 和 newmark
  this.data.mark = this.data.newmark = e.touches[0].pageX;
 },
 
 tap_drag: function(e) {
  // touchmove事件
  this.data.newmark = e.touches[0].pageX;
  
  // 手指从左向右移动
  if (this.data.mark < this.data.newmark) {
   this.istoright = true;
  }
  
  // 手指从右向左移动
  if (this.data.mark > this.data.newmark) {
   this.istoright = false;
  }
  this.data.mark = this.data.newmark;
 },
 
 tap_end: function(e) {
  // touchend事件
  this.data.mark = 0;
  this.data.newmark = 0;
  // 通过改变 opne 的值,让主页加上滑动的样式
  if (this.istoright) {
   this.setData({
    open: true
   });
  } else {
   this.setData({
    open: false
   });
  }
 },

wxss文件

/* 全局样式 */
page, .page {
 height: 100%;
 font-family: 'PingFang SC',
     'Helvetica Neue',
     Helvetica,
     'Droid Sans Fallback',
     'Microsoft Yachei',
     sans-serif;
} 
/* 侧边栏样式 */
.page-slidebar {
 height: 100%;
 width: 750rpx;
 position: fixed;
 background-color:white;
 z-index: 0;
}
 
/* 控制侧边栏的内容距离顶部的距离 */
.page-content {
 padding-top: 60rpx;
}
 
/* 侧边栏内容的 css 样式 */
.wc {
 color:black;
 padding: 30rpx 0 30rpx 150rpx;
 border-bottom: 1px solid #eee; 
}
 
/* 当屏幕向左滑动,出现侧边栏的时候,主页的动画样式 */
/* scale:取值范围 0~1 ,表示屏幕大小是原来的百分之几,可以自己修改成 0.8 试下*/
/* translate(60%,0%) 表示向左滑动的时候,侧边栏占用平时的宽度为 60% */
/* translate(-60%,0%) 表示向右滑动的时候,侧边栏占用平时的宽度为 60% */
.c-state {
 transform: rotate(0deg) scale(1) translate(60%, 0%);
 -webkit-transform: rotate(0deg) scale(1) translate(60%, 0%);
}
 
/* 主页样式 */
.page-top {
 height: 100%;
 position: fixed;
 width: 750rpx;
 background-color:white;
 z-index: 0;
 transition: All 0.4s ease;
 -webkit-transition: All 0.4s ease;
}
/* 左上角图标的样式 */
.page-top image {
 position: absolute;
 width: 68rpx;
 height: 68rpx;
 left: 20rpx;
 top: 20rpx;
}
 
/* 遮盖层样式 */
.cover{
 width: 100%;
 height: 100%;
 background-color:gray;
 opacity: 0.5;
 z-index: 9000;
}
 
.content{
 margin-top: 100rpx; 
}

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
jquery ajax学习笔记2 使用XMLHttpRequest对象的responseXML
Oct 16 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
Aug 05 Javascript
关于jquery的多个选择器的使用示例
Oct 18 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
Aug 10 Javascript
js实现炫酷的左右轮播图
Jan 18 Javascript
vue如何将v-for中的表格导出来
May 07 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
May 14 Javascript
Vue ElementUi同时校验多个表单(巧用new promise)
Jun 06 Javascript
实例详解ztree在vue项目中使用并且带有搜索功能
Aug 24 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
Jan 31 Javascript
layui 动态设置checbox 选中状态的例子
Sep 02 Javascript
Vertx基于EventBus发送接受自定义对象
Nov 16 #Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
Nov 16 #Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
Nov 16 #Javascript
js实现纯前端压缩图片
Nov 16 #Javascript
Vue基于localStorage存储信息代码实例
Nov 16 #Javascript
微信小程序自定义底部弹出框动画
Nov 18 #Javascript
vue 封装面包屑组件教程
Nov 16 #Javascript
You might like
PHP随机生成信用卡卡号的方法
2015/03/23 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
javascript innerHTML使用分析
2010/12/03 Javascript
jQuery中对节点进行操作的相关介绍
2013/04/16 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
得到form下的所有的input的js代码
2013/11/07 Javascript
详解JavaScript中的forEach()方法的使用
2015/06/08 Javascript
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
json格式的javascript对象用法分析
2016/07/04 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
jQuery事件绑定方法学习总结(推荐)
2016/11/21 Javascript
JS设置时间无效问题的解决办法
2017/02/18 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
vue element upload实现图片本地预览
2019/08/20 Javascript
[01:18:36]LGD vs VP Supermajor 败者组决赛 BO3 第一场 6.10
2018/07/04 DOTA
[02:38]DOTA2 夜魇暗潮2020活动介绍官方视频
2020/11/04 DOTA
python 切片和range()用法说明
2013/03/24 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
Pycharm生成可执行文件.exe的实现方法
2020/06/02 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
安纳塔拉酒店度假村及水疗官方网站:Anantara Hotel
2016/08/25 全球购物
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
医药专业应届毕业生求职信范文
2014/01/01 职场文书
房地产销售经理岗位职责
2014/01/01 职场文书
幼儿园小班家长寄语
2014/04/02 职场文书
教导主任竞聘演讲稿
2014/05/16 职场文书
民事诉讼授权委托书范文
2014/08/02 职场文书
Redis如何一键部署脚本
2021/04/12 Redis
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL