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


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中巧用cssText属性批量操作样式
Mar 13 Javascript
jQuery 和 CSS 的文本特效插件集锦
Dec 12 Javascript
AngularJS模块管理问题的非常规处理方法
Apr 29 Javascript
js实现模拟银行卡账号输入显示效果
Nov 18 Javascript
非常漂亮的相册集 使用jquery制作相册集
Apr 28 Javascript
JS跨域交互(jQuery+php)之jsonp使用心得
Jul 01 Javascript
浅谈js中字符和数组一些基本算法题
Aug 15 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
Aug 17 Javascript
AngularJS辅助库browserTrigger用法示例
Nov 03 Javascript
vue + socket.io实现一个简易聊天室示例代码
Mar 06 Javascript
ionic 自定义弹框效果
Jun 27 Javascript
JS实现超级好看的鼠标小尾巴特效
Dec 01 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
星际玩家的三大定律
2020/03/04 星际争霸
JAVA/JSP学习系列之二
2006/10/09 PHP
php数组去重复数据示例
2014/02/25 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
php和nginx交互实例讲解
2019/09/24 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
JQuery 操作select标签实现代码
2010/05/14 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
js中的布尔运算符使用介绍
2013/11/20 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
一个字符串中出现次数最多的字符 统计这个次数【实现代码】
2016/04/29 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
微信小程序本作用域下调用全局JS详解及实例
2017/02/22 Javascript
jQuery复合事件结合toggle()方法的用法示例
2017/06/10 jQuery
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
2017/09/28 Javascript
VueJs监听window.resize方法示例
2018/01/17 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
mpvue 项目初始化及实现授权登录的实现方法
2020/07/20 Javascript
js实现表格数据搜索
2020/08/09 Javascript
Python中装饰器的一个妙用
2015/02/08 Python
Python实现的微信支付方式总结【三种方式】
2019/04/13 Python
python代码编写计算器小程序
2020/03/30 Python
python dumps和loads区别详解
2020/02/04 Python
python中np是做什么的
2020/07/21 Python
完美解决IE8下不兼容rgba()的问题
2017/03/31 HTML / CSS
升职自荐信
2013/11/28 职场文书
大学生军训感想
2014/02/16 职场文书
党员大会主持词
2014/04/02 职场文书
2014年安全生产责任书
2014/07/22 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
西游记读书笔记
2015/06/25 职场文书
文艺部部长竞选稿
2015/11/21 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server