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


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 面向对象编程(一) 封装
Aug 28 Javascript
原生js结合html5制作小飞龙的简易跳球
Mar 30 Javascript
jQuery下拉友情链接美化效果代码分享
Aug 26 Javascript
jQuery实现鼠标滚动图片延迟加载效果附源码下载
Jun 28 Javascript
仿Angular Bootstrap TimePicker创建分钟数-秒数的输入控件
Jul 01 Javascript
简易的JS计算器实现代码
Oct 18 Javascript
微信小程序对接七牛云存储的方法
Jul 30 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
Jun 26 Javascript
VUE路由动态加载实例代码讲解
Aug 26 Javascript
Vue3配置axios跨域实现过程解析
Nov 25 Vue.js
vue3.0中友好使用antdv示例详解
Jan 05 Vue.js
javascript函数式编程基础
Sep 15 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实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
yii数据库的查询方法
2015/12/28 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
php过滤htmlspecialchars() 函数实现把预定义的字符转换为 HTML 实体用法分析
2019/06/25 PHP
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
javascript实现div浮动在网页最顶上并带关闭按钮效果实例
2013/08/13 Javascript
使用Js让Html中特殊字符不被转义
2013/11/05 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
基于jquery实现表格无刷新分页
2016/01/07 Javascript
浅谈jquery的html方法里包含特殊字符的处理
2016/11/30 Javascript
jQuery实现文档树效果
2017/02/20 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
微信小程序wx.previewImage预览图片实例详解
2017/12/07 Javascript
基于VUE的v-charts的曲线显示功能
2019/10/01 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
前端性能优化建议
2020/09/17 Javascript
浅谈Python中函数的参数传递
2016/06/21 Python
python中reload(module)的用法示例详解
2017/09/15 Python
对python中两种列表元素去重函数性能的比较方法
2018/06/29 Python
Python当中的array数组对象实例详解
2019/06/12 Python
python3 线性回归验证方法
2019/07/09 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
Python中if有多个条件处理方法
2020/02/26 Python
Python程序慢的重要原因
2020/09/04 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
为什么使用接口?
2014/08/13 面试题
C# .NET面试题
2015/11/28 面试题
初三学生评语大全
2014/04/24 职场文书
班主任个人工作反思
2014/04/28 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
学生检讨书范文
2015/01/27 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
一文搞懂redux在react中的初步用法
2021/06/09 Javascript