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


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 options属性集合操作代码
Dec 28 Javascript
jquery tab标签页的制作
May 10 Javascript
ECMAScript6块级作用域及新变量声明(let)
Jun 12 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
Jun 24 Javascript
微信小程序 swiper组件详解及实例代码
Oct 25 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
Dec 05 Javascript
基于jQuery实现选项卡效果
Jan 04 Javascript
JS动态添加的div点击跳转到另一页面实现代码
Sep 30 Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 Javascript
nvm、nrm、npm 安装和使用详解(小结)
Jan 17 Javascript
django js 实现表格动态标序号的实例代码
Jul 12 Javascript
js实现带搜索功能的下拉框
Jan 11 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函数file_get_contents超时处理的方法详解
2013/06/03 PHP
解析coreseek for sphinx的使用
2013/06/21 PHP
php支付宝接口用法分析
2015/01/04 PHP
php使用parse_url和parse_str解析URL
2015/02/22 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
jQuery实现在textarea指定位置插入字符或表情的方法
2015/03/11 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
jQuery实现的表格展开伸缩效果实例
2016/09/07 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
JS前端笔试题分析
2016/12/19 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
微信小程序文章列表功能完整实例
2020/06/03 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
python实现绘制树枝简单示例
2014/07/24 Python
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
基于Python log 的正确打开方式
2018/04/28 Python
pyqt5 lineEdit设置密码隐藏,删除lineEdit已输入的内容等属性方法
2019/06/24 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
基于Python的Jenkins的二次开发操作
2020/05/12 Python
在CentOS7下安装Python3教程解析
2020/07/09 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
2014婚礼司仪主持词
2014/03/14 职场文书
幼儿园开学寄语
2014/04/03 职场文书
2014幼儿园教育教学工作总结
2014/12/17 职场文书
Python使用pandas导入xlsx格式的excel文件内容操作代码
2022/12/24 Python