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


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 相关文章推荐
Prototype源码浅析 Number部分
Jan 16 Javascript
JavaScript获取多个数组的交集简单实例
Nov 11 Javascript
基于javascript滚动图片具体实现
Nov 18 Javascript
jQuery 取值、赋值的基本方法整理
Mar 31 Javascript
完美兼容各大浏览器获取HTTP_REFERER方法总结
Jun 24 Javascript
JavaScript 对象深入学习总结(经典)
Sep 29 Javascript
javascript自动切换焦点控制效果完整实例
Feb 02 Javascript
Vuejs 组件——props数据传递的实例代码
Mar 07 Javascript
微信小程序选择图片和放大预览图片功能
Nov 02 Javascript
浅析JS抽象工厂模式
Dec 14 Javascript
Vue.js组件间的循环引用方法示例
Dec 27 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
May 30 jQuery
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应用程序的七个习惯深入分析
2013/06/08 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
js showModalDialog弹出窗口实例详解
2014/01/07 Javascript
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
JavaScript通过元素的ID和name设置样式
2014/07/08 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
jQuery实现滚动鼠标放大缩小图片的方法(附demo源码下载)
2016/03/05 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
浅谈JS验证表单文本域输入空格的问题
2017/02/14 Javascript
jquery实现折叠菜单效果【推荐】
2017/03/08 Javascript
微信小程序request出现400的问题解决办法
2017/05/23 Javascript
前端把html表格生成为excel表格的实例
2017/09/19 Javascript
Angular6中使用Swiper的方法示例
2018/07/09 Javascript
vue 父组件中调用子组件函数的方法
2019/06/06 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
javascript实现日历效果
2019/06/17 Javascript
jQuery表单校验插件validator使用方法详解
2020/02/18 jQuery
[01:10:48]完美世界DOTA2联赛PWL S2 GXR vs PXG 第一场 11.18
2020/11/18 DOTA
Python开发的HTTP库requests详解
2017/08/29 Python
Python三种遍历文件目录的方法实例代码
2018/01/19 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
python使用for循环计算0-100的整数的和方法
2019/02/01 Python
Django用户认证系统 组与权限解析
2019/08/02 Python
Python大数据之网络爬虫的post请求、get请求区别实例分析
2019/11/16 Python
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
婚礼证婚人证婚词
2014/01/08 职场文书
个人担保书格式范文
2014/05/12 职场文书
土地转让协议书
2014/09/27 职场文书
商铺门面租房协议书
2014/10/21 职场文书
银行保安拾金不昧表扬稿
2015/05/05 职场文书
消费者投诉书范文
2015/07/02 职场文书
浅谈Redis的事件驱动模型
2022/05/30 Redis