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


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代码要注意的几条规则
Sep 10 Javascript
jQuery获取文本节点之 text()/val()/html() 方法区别
Mar 01 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
May 03 Javascript
理解JavaScript的prototype属性
Feb 11 Javascript
php对mongodb的扩展(小试牛刀)
Nov 11 Javascript
JavaScript插件化开发教程(五)
Feb 01 Javascript
jQuery中prepend()方法使用详解
Aug 11 Javascript
jQuery CSS3自定义美化Checkbox实现代码
May 12 Javascript
Node.js实现发送邮件功能
Nov 06 Javascript
Puppeteer 爬取动态生成的网页实战
Nov 14 Javascript
vue-cli中vue本地实现跨域调试接口
Jan 16 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
Nov 12 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全排列递归算法代码
2012/10/09 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
PHP数据库连接mysql与mysqli对比分析
2016/01/04 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
javascript事件模型代码
2007/07/01 Javascript
如何将JS的变量值传递给ASP变量
2012/12/10 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
使用jquery的ajax需要注意的地方dataType的设置
2013/08/12 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
js结合正则实现国内手机号段校验
2015/06/19 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
jQuery监听文件上传实现进度条效果的方法
2016/10/16 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
从零开始学习Node.js系列教程三:图片上传和显示方法示例
2017/04/13 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
vue改变对象或数组时的刷新机制的方法总结
2019/04/24 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
javascript canvas封装动态时钟
2020/09/30 Javascript
微信小程序实现页面监听自定义组件的触发事件
2020/11/01 Javascript
调试Python程序代码的几种方法总结
2015/04/28 Python
Python中的ctime()方法使用教程
2015/05/22 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
python 表格打印代码实例解析
2019/10/12 Python
python自动化发送邮件实例讲解
2021/01/04 Python
美国著名的团购网站:Woot
2016/08/02 全球购物
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
安全生产先进个人材料
2014/02/06 职场文书
经理管理专业毕业自荐书范文
2014/02/12 职场文书
十八届三中全会个人学习材料
2014/02/13 职场文书
房产协议书范本
2014/10/18 职场文书
安全保证书怎么写
2015/02/28 职场文书
语文教师求职信范文
2015/03/20 职场文书
Python基本知识点总结
2022/04/07 Python