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


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读取xml
Nov 04 Javascript
JavaScript方法和技巧大全
Dec 27 Javascript
微信WeixinJSBridge API使用实例
May 25 Javascript
jQuery右下角旋转环状菜单特效代码
Aug 10 Javascript
js全选按钮的实现方法
Nov 17 Javascript
浅谈javascript中的constructor
Jun 08 Javascript
详解jQuery中的事件
Dec 14 Javascript
json的结构与遍历方法实例分析
Apr 25 Javascript
浅谈react+es6+webpack的基础配置
Aug 09 Javascript
Node错误处理笔记之挖坑系列教程
Jun 05 Javascript
微信小程序实现带放大效果的轮播图
May 26 Javascript
关于antd tree 和父子组件之间的传值问题(react 总结)
Jun 02 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快速url重写 更新版[需php 5.30以上]
2010/04/20 PHP
详谈PHP文件目录基础操作
2014/11/11 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
图片自动缩小 点击放大
2008/07/07 Javascript
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
详解AngularJS的通信机制
2015/06/18 Javascript
javascript设计模式Constructor(构造器)模式
2016/08/19 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
完美解决node.js中使用https请求报CERT_UNTRUSTED的问题
2017/01/08 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
2017/05/24 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
Vue axios与Go Frame后端框架的Options请求跨域问题详解
2020/03/03 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
Python中的if、else、elif语句用法简明讲解
2016/03/11 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
2018/04/05 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
婚前财产公证书
2014/04/10 职场文书
小班评语大全
2014/05/04 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
部门活动策划方案
2014/08/16 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书
python 实现德洛内三角剖分的操作
2021/04/22 Python
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android
python接口测试返回数据为字典取值方式
2022/02/12 Python
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL