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


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 相关文章推荐
javascript学习笔记(一) 在html中使用javascript
Jun 18 Javascript
用js实现输入提示(自动完成)的实例代码
Jun 14 Javascript
jquery触发a标签跳转事件示例代码
Jul 21 Javascript
在node中如何使用 ES6
Apr 22 Javascript
基于JSONP原理解析(推荐)
Dec 04 Javascript
利用Javascript开发一个二维周视图日历
Dec 14 Javascript
vue.js在标签属性中插入变量参数的方法
Mar 06 Javascript
Bootstrap Table中的多选框删除功能
Jul 15 Javascript
在NPM发布自己造的轮子的方法步骤
Mar 09 Javascript
vue实现简单的登录弹出框
Oct 26 Javascript
vue 获取url参数、get参数返回数组的操作
Nov 12 Javascript
vue-cli中实现响应式布局的方法
Mar 02 Vue.js
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 stripos()函数及注意事项的分析
2013/06/08 PHP
用PHP的socket实现客户端到服务端的通信实例详解
2017/02/04 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
经验几则 推荐
2006/09/05 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
解析js如何获取当前url中的参数值并复制给input
2013/06/23 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
React进阶学习之组件的解耦之道
2017/08/07 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
微信小程序实现横向增长表格的方法
2018/07/24 Javascript
layui的表单提交以及验证和修改弹框的实例
2019/09/09 Javascript
搭建Vue从Vue-cli到router路由护卫的实现
2019/11/14 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
[01:19:34]2014 DOTA2国际邀请赛中国区预选赛 New Element VS Dream time
2014/05/22 DOTA
Python操作json数据的一个简单例子
2014/04/17 Python
pytorch 调整某一维度数据顺序的方法
2018/12/08 Python
如何用Python破解wifi密码过程详解
2019/07/12 Python
Django 拆分model和view的实现方法
2019/08/16 Python
python代码xml转txt实例
2020/03/10 Python
Python super()方法原理详解
2020/03/31 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
python 画条形图(柱状图)实例
2020/04/24 Python
Python中的整除和取模实例
2020/06/03 Python
CSS3的transition和animation的用法实例介绍
2014/08/20 HTML / CSS
Deichmann英国:德国鞋类零售商
2021/01/30 全球购物
门诊手术室工作制度
2014/01/30 职场文书
秋季运动会广播稿(30篇)
2014/09/13 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
大学优秀学生主要事迹材料
2015/11/04 职场文书
CSS 伪元素::marker详解
2021/06/26 HTML / CSS
关于python类SortedList详解
2021/09/04 Python