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


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 PeriodicalExecuter对象 学习
Jul 19 Javascript
Iframe自适应高度绝对好使的代码 兼容IE,遨游,火狐
Jan 27 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
深入理解JavaScript系列(3) 全面解析Module模式
Jan 15 Javascript
JavaScript高级程序设计 阅读笔记(十四) js继承机制的实现
Aug 14 Javascript
ECMAScript6新增值比较函数Object.is
Jun 12 Javascript
vue-cli构建项目使用 less的方法
Oct 04 Javascript
vue axios 表单提交上传图片的实例
Mar 16 Javascript
微信小程序实现折叠与展开文章功能
Jun 12 Javascript
php中and 和 &amp;&amp;出坑指南
Jul 13 Javascript
js实现移动端轮播图
Dec 21 Javascript
Vue中的情侣属性$dispatch和$broadcast详解
Mar 07 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中使用Oracle数据库(1)
2006/10/09 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
PHP赋值的内部是如何跑的详解
2019/01/13 PHP
PHP crc32()函数讲解
2019/02/14 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
Javascript 类与静态类的实现
2010/04/01 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
关于jquery中全局函数each使用介绍
2013/12/10 Javascript
详解JavaScript中基于原型prototype的继承特性
2016/05/05 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
微信小程序 支付功能(前端)的实现
2017/05/24 Javascript
js实现随机点名系统(实例讲解)
2017/10/18 Javascript
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
jQuery zTree插件快速实现目录树
2019/08/16 jQuery
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
Python模块文件结构代码详解
2018/02/03 Python
djang常用查询SQL语句的使用代码
2019/02/15 Python
详解Python3中setuptools、Pip安装教程
2019/06/18 Python
Python 导入文件过程图解
2019/10/15 Python
Tensorflow 多线程与多进程数据加载实例
2020/02/05 Python
python数据库编程 ODBC方式实现通讯录
2020/03/27 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
2020/06/04 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
Booking.com西班牙:全球酒店预订
2018/03/30 全球购物
制药工程专业职业生涯规划范文
2014/03/10 职场文书
预备党员公开承诺书
2014/05/28 职场文书
我的未来不是梦演讲稿
2014/09/02 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
女儿满月酒致辞
2015/07/29 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
python字符串拼接.join()和拆分.split()详解
2021/11/23 Python