微信小程序——左右滑动切换页面事件

微信小程序的左右滑动触屏事件,主要有三个事件:touchstart,touchmove,touchend。
这三个事件最重要的属性是pageX和pageY,表示X,Y坐标。
touchstart在触摸开始时触发事件;
touchend在触摸结束时触发事件;
touchmove触摸的过程中不断激发这个事件;
这三个事件都有一个timeStamp的属性,查看timeStamp属性,可以看到顺序是touchstart => touchmove=> touchmove => ··· =>touchmove =>touchend。
第一步:在wxml文件中绑定事件(需要左右滑动的界面)
<view class="container" bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd"> // do something </view>
第二步:在js文件中处理左右滑动逻辑
var touchDot = 0;//触摸时的原点
var time = 0;// 时间记录,用于滑动时且时间小于1s则执行左右滑动
var interval = "";// 记录/清理 时间记录
var nth = 0;// 设置活动菜单的index
var nthMax = 5;//活动菜单的最大个数
var tmpFlag = true;// 判断左右华东超出菜单最大值时不再执行滑动事件
// 触摸开始事件
touchStart:function(e){
touchDot = e.touches[0].pageX; // 获取触摸时的原点
// 使用js计时器记录时间
interval = setInterval(function(){
time++;
},100);
},
// 触摸移动事件
touchMove:function(e){
var touchMove = e.touches[0].pageX;
console.log("touchMove:"+touchMove+" touchDot:"+touchDot+" diff:"+(touchMove - touchDot));
// 向左滑动
if(touchMove - touchDot <= -40 && time < 10){
if(tmpFlag && nth < nthMax){ //每次移动中且滑动时不超过最大值 只执行一次
var tmp = this.data.menu.map(function (arr, index) {
tmpFlag = false;
if(arr.active){ // 当前的状态更改
nth = index;
++nth;
arr.active = nth > nthMax ? true : false;
}
if(nth == index){ // 下一个的状态更改
arr.active = true;
name = arr.value;
}
return arr;
})
this.getNews(name); // 获取新闻列表
this.setData({menu : tmp}); // 更新菜单
}
}
// 向右滑动
if(touchMove - touchDot >= 40 && time < 10){
if(tmpFlag && nth > 0){
nth = --nth < 0 ? 0 : nth;
var tmp = this.data.menu.map(function (arr, index) {
tmpFlag = false;
arr.active = false;
// 上一个的状态更改
if(nth == index){
arr.active = true;
name = arr.value;
}
return arr;
})
this.getNews(name); // 获取新闻列表
this.setData({menu : tmp}); // 更新菜单
}
}
// touchDot = touchMove; //每移动一次把上一次的点作为原点(好像没啥用)
},
// 触摸结束事件
touchEnd:function(e){
clearInterval(interval); // 清除setInterval
time = 0;
tmpFlag = true; // 回复滑动事件
},
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# 微信小程序左右滑动切换页面事件
# 小程序
# 滑动切换页面
# 微信小程序滑动页面
# 微信小程序MUI侧滑导航菜单示例(Popup弹出式
# 左侧滑动
# 右侧不动)
# 左侧不动
# 右侧滑动)
# 微信小程序左滑动显示菜单功能的实现
# 微信小程序图片横向左右滑动案例
# 微信小程序侧边栏滑动特效(左右滑动)
# 微信小程序左右滑动的实现代码
# 微信小程序 向左滑动删除功能的实现
# 微信小程序滚动Tab实现左右可滑动切换
# 微信小程序实现左侧滑动导航栏
# 微信小程序实现点餐小程序左侧滑动菜单
# 这三个
# 都有
# 最重要
# 计时器
# 希望能
# 可以看到
# 不超过
# 谢谢大家
# 第二步
# 绑定
# 结束时
# 没啥
# 过程中
# 主要有
# xml
# brush
# container
# lt
# view
# bindtouchend
相关文章:
微信小程序制作网站有哪些,微信小程序需要做网站吗?
建站主机选购指南:核心配置优化与品牌推荐方案
新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?
如何用搬瓦工VPS快速搭建个人网站?
如何通过西部数码建站助手快速创建专业网站?
北京企业网站设计制作公司,北京铁路集团官方网站?
企业微网站怎么做,公司网站和公众号有什么区别?
广东企业建站网站优化与SEO营销核心策略指南
如何在阿里云购买域名并搭建网站?
如何通过IIS搭建网站并配置访问权限?
如何快速搭建支持数据库操作的智能建站平台?
如何在橙子建站上传落地页?操作指南详解
测试制作网站有哪些,测试性取向的权威测试或者网站?
建站中国官网:模板定制+SEO优化+建站流程一站式指南
北京建设网站制作公司,北京古代建筑博物馆预约官网?
建站主机SSH密钥生成步骤及常见问题解答?
建站之星代理商如何保障技术支持与售后服务?
北京网站制作网页,网站升级改版需要多久?
如何规划企业建站流程的关键步骤?
制作门户网站的参考文献在哪,小说网站怎么建立?
制作营销网站公司,淘特是干什么用的?
想学网站制作怎么学,建立一个网站要花费多少?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
如何在搬瓦工VPS快速搭建网站?
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何用西部建站助手快速创建专业网站?
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
广州顶尖建站服务:企业官网建设与SEO优化一体化方案
如何用PHP快速搭建CMS系统?
如何快速配置高效服务器建站软件?
广州建站公司哪家好?十大优质服务商推荐
,南京靠谱的征婚网站?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
建站主机选购指南与交易推荐:核心配置解析
ppt制作免费网站有哪些,ppt模板免费下载网站?
如何通过虚拟主机快速搭建个人网站?
建站主机是否等同于虚拟主机?
建站之星后台密码遗忘如何找回?
详解jQuery停止动画——stop()方法的使用
网站制作员失业,怎样查看自己网站的注册者?
电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?
如何选择网络建站服务器?高效建站必看指南
如何在Windows环境下新建FTP站点并设置权限?
网站制作壁纸教程视频,电脑壁纸网站?
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
如何高效完成自助建站业务培训?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
无锡营销型网站制作公司,无锡网选车牌流程?
建站之星如何修改网站生成路径?
*请认真填写需求信息,我们会在24小时内与您取得联系。