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


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 相关文章推荐
Js的MessageBox
Dec 03 Javascript
Jquery倒计时源码分享
May 16 Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
May 28 Javascript
超级简单的jquery操作表格方法
Dec 15 Javascript
C#微信小程序服务端获取用户解密信息实例代码
Mar 10 Javascript
Angular.JS通过指令操作DOM的方法
May 10 Javascript
Vue.js学习笔记之修饰符详解
Jul 25 Javascript
微信小程序实现倒计时调用相机自动拍照功能
Jun 10 Javascript
Angularjs实现页面模板清除的方法
Jul 20 Javascript
解决layer.prompt无效的问题
Sep 24 Javascript
Openlayers测量距离与面积的实现方法
Sep 25 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
Feb 10 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
Gregarius中文日期格式问题解决办法
2008/04/22 PHP
php 运行效率总结(提示程序速度)
2009/11/26 PHP
php常用Output和ptions/Info函数集介绍
2013/06/19 PHP
php定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
Laravel框架源码解析之反射的使用详解
2020/05/14 PHP
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
图解js图片轮播效果
2015/12/20 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
bootstrap导航、选项卡实现代码
2016/12/28 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
Vue自定义图片懒加载指令v-lazyload详解
2020/12/31 Javascript
基于vue的短信验证码倒计时demo
2017/09/13 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
详解vue如何使用rules对表单字段进行校验
2018/10/17 Javascript
NodeJS 将文件夹按照存放路径变成一个对应的JSON的方法
2018/10/17 NodeJs
vue微信分享出来的链接点开是首页问题的解决方法
2018/11/28 Javascript
vue动态绑定class选中当前列表变色的方法示例
2018/12/19 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
用js实现放大镜效果
2020/10/28 Javascript
Python单例模式实例详解
2017/03/01 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
详解Python3除法之真除法、截断除法和下取整对比
2019/05/23 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
双创工作实施方案
2014/03/26 职场文书
自主招生推荐信范文
2014/05/10 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL