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

微信小程序的左右滑动触屏事件,主要有三个事件: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
相关文章:
宝塔新建站点为何无法访问?如何排查?
建站之星代理商如何保障技术支持与售后服务?
建站之星收费标准详解:套餐费用及年费价格表一览
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
如何快速完成中国万网建站详细流程?
招商网站制作流程,网站招商广告语?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
南京网站制作费用,南京远驱官方网站?
如何在建站之星网店版论坛获取技术支持?
网站制作服务平台,有什么网站可以发布本地服务信息?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
如何在云虚拟主机上快速搭建个人网站?
深圳网站制作平台,深圳市做网站好的公司有哪些?
如何用狗爹虚拟主机快速搭建网站?
,柠檬视频怎样兑换vip?
如何在云服务器上快速搭建个人网站?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
网站制作模板下载什么软件,ppt模板免费下载网站?
广州商城建站系统开发成本与周期如何控制?
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
宝塔建站教程:一键部署配置流程与SEO优化实战指南
如何快速搭建高效服务器建站系统?
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
如何注册花生壳免费域名并搭建个人网站?
建站主机选哪种环境更利于SEO优化?
定制建站方案优化指南:企业官网开发与建站费用解析
免费网站制作appp,免费制作app哪个平台好?
如何通过WDCP绑定主域名及创建子域名站点?
如何快速查询网站的真实建站时间?
建站主机SSH密钥生成步骤及常见问题解答?
建站org新手必看:2024最新搭建流程与模板选择技巧
如何在服务器上三步完成建站并提升流量?
h5在线制作网站电脑版下载,h5网页制作软件?
如何在阿里云高效完成企业建站全流程?
实现虚拟支付需哪些建站技术支撑?
如何选择高性价比服务器搭建个人网站?
*服务器网站为何频现安全漏洞?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
浅谈Javascript中的Label语句
如何选择靠谱的建站公司加盟品牌?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
css网站制作参考文献有哪些,易聊怎么注册?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
微课制作网站有哪些,微课网怎么进?
*请认真填写需求信息,我们会在24小时内与您取得联系。