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


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 Hash对象 学习
Jul 19 Javascript
Javascript 定时器调用传递参数的方法
Nov 12 Javascript
script的async属性以非阻塞的模式加载脚本
Jan 15 Javascript
JavaScript如何从listbox里同时删除多个项目
Oct 12 Javascript
javascript获取URL参数与参数值的示例代码
Dec 20 Javascript
Javascript 函数parseInt()转换时出现bug问题
May 20 Javascript
Javascript数组Array基础介绍
Mar 13 Javascript
Javascript 链式作用域详细介绍
Feb 23 Javascript
vue2.0 根据状态值进行样式的改变展示方法
Mar 13 Javascript
vue.js实现插入数值与表达式的方法分析
Jul 06 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
Nov 13 Javascript
JS如何实现基于websocket的多端桥接平台
May 14 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+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
PHP调用Linux的命令行执行文件压缩命令
2013/01/27 PHP
PHP 转义使用详解
2013/07/15 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
2017/07/03 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
JavaScript 全面解析各种浏览器网页中的JS 执行顺序
2009/02/17 Javascript
js汉字转拼音实现代码
2013/02/06 Javascript
jquery 清空file域示例(兼容个浏览器)
2013/10/11 Javascript
angularjs实现与服务器交互分享
2014/06/24 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
浅述python中argsort()函数的实例用法
2017/03/30 Python
python基础之入门必看操作
2017/07/26 Python
Python 如何优雅的将数字转化为时间格式的方法
2019/09/26 Python
pycharm激活码有效到2020年11月底
2020/09/18 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
Python django框架 web端视频加密的实例详解
2020/11/20 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
公司担保书范文
2014/05/21 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
党员公开承诺书2016
2016/03/24 职场文书
新员工入职感言范文!
2019/07/04 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS