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


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创建对象的方式总结
Jan 10 Javascript
JavaScript返回0-1之间随机数的方法
Apr 06 Javascript
纯JS实现本地图片预览的方法
Jul 31 Javascript
javascript实现点击单选按钮链接转向对应网址的方法
Aug 12 Javascript
jquery 将当前时间转换成yyyymmdd格式的实现方法
Jun 01 Javascript
JavaScript获取用户所在城市及地理位置
Apr 21 Javascript
使用Vue自定义指令实现Select组件
May 24 Javascript
详解微信小程序与内嵌网页交互实现支付功能
Oct 22 Javascript
Vue自定义组件双向绑定实现原理及方法详解
Sep 03 Javascript
js对象属性名驼峰式转下划线的实例代码
Sep 17 Javascript
原生JS实现音乐播放器
Jan 26 Javascript
vue-cropper插件实现图片截取上传组件封装
May 27 Vue.js
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
fgetcvs在linux的问题
2012/01/15 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
PHP生成网站桌面快捷方式代码分享
2014/10/11 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
YII2框架中behavior行为的理解与使用方法示例
2020/03/13 PHP
学习YUI.Ext第五日--做拖放Darg&amp;Drop
2007/03/10 Javascript
动态创建的表格单元格中的事件实现代码
2008/12/30 Javascript
JQuery Ajax 跨域访问的解决方案
2010/03/12 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
jquery实现不包含当前项的选择器实例
2015/06/25 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
Jquery实时监听input value的实例
2017/01/26 Javascript
Django1.7+JQuery+Ajax验证用户注册集成小例子
2017/04/08 jQuery
微信小程序登录态控制深入分析
2017/04/12 Javascript
nodeJS实现简单网页爬虫功能的实例(分享)
2017/06/08 NodeJs
js学习总结之DOM2兼容处理顺序问题的解决方法
2017/07/27 Javascript
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
2018/07/31 jQuery
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
python任务调度实例分析
2015/05/19 Python
python开发中range()函数用法实例分析
2015/11/12 Python
Pandas之drop_duplicates:去除重复项方法
2018/04/18 Python
Django时区详解
2019/07/24 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
详解如何在PyCharm控制台中输出彩色文字和背景
2020/08/17 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
这76道Java面试题及答案,祝你能成功通过面试
2016/04/16 面试题
大学生毕业自我鉴定范文
2013/09/19 职场文书
合伙协议书
2014/04/23 职场文书
项目技术负责人岗位职责
2015/04/13 职场文书
文明旅游倡议书
2015/04/28 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
python基础之模块的导入
2021/10/24 Python
JavaScript中isPrototypeOf函数
2021/11/07 Javascript
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers