微信小程序仿今日头条导航栏滚动解析


Posted in Javascript onAugust 20, 2019

项目需要,做一个和今日头条一样的导航栏,可以横行滚动,幸好再weui里面看到了类似的例子

地址:https://weui.shanliwawa.top/demo/js4.html,使用iscroll-lite.j实现,weui自己封装了一层,vue中实现代码:

<div id="tab-tip" class="container">
  <div id="tagnav" class="weui-navigator weui-navigator-wrapper" style="touch-action: none;padding-left:5px">
   <ul class="weui-navigator-list first_nav">
    <li class v-for="group in groupList">
     <a href="javascript:;" rel="external nofollow" :groupId="group.id" @click="loadData(group.id)">{{group.name}}</a>
    </li>
   </ul>
  </div>
 </div> 初始化:
mounted() {
setTimeout(function() {

TagNav("#tagnav", {

type: "scrollToNext",

curClassName: "weui-state-active",

index: 0

});

$(".first_nav")

.children(":first")

.find("a")

.addClass("first_border_circle");

$(".first_nav")

.children(":last")

.find("a")

.addClass("end_border_circle");

}, 0);
},

注意:引入weui的css,class="container"这个一定要有,不然出现定位出现问题。

setimeout等元素渲染完成再初始化。

当然做这个项目的时候出现了一个问题,安卓手机第一次进入页面,非导航栏滑动的时候敏感,导致本来是滑动,触发了click事件,导致跳转

通过查找了许多资料,因为iscroll-lite默认事件touchend等绑定再window上,不是绑定再我们滚动的元素(上面例子:id="tagnav"的div),导致

点击其他的区域触发了click事件,幸好看到它有配置项:bindToWrapper,把这个值设定为true解决

因为weui重新封装了,所以找到,添加:bindToWrapper: true即可解决

self.iScroll = new IScroll(self.el, {
scrollX: true,
scrollY: false,
click: true,
bindToWrapper: true//防止touchend等事件绑定到window,导致滑动敏感触发
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
json简单介绍
Jun 10 Javascript
javascript Keycode对照表
Oct 24 Javascript
菜鸟javascript基础资料整理3 正则
Dec 06 Javascript
在标题栏显示新消息提示,很多公司项目中用到这个方法
Nov 04 Javascript
js Object2String方便查看js对象内容
Nov 24 Javascript
浅谈JavaScript中运算符的优先级
Jul 07 Javascript
JavaScript表单验证开发
Nov 23 Javascript
利用js定义一个导航条菜单
Mar 14 Javascript
js实现点击切换checkbox背景图片的简单实例
May 08 Javascript
详解vue中computed 和 watch的异同
Jun 30 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
Apr 08 Javascript
es6数据变更同步到视图层的方法
Mar 04 Javascript
Vue中axios的封装(报错、鉴权、跳转、拦截、提示)
Aug 20 #Javascript
Vue formData实现图片上传
Aug 20 #Javascript
Angular8 Http拦截器简单使用教程
Aug 20 #Javascript
vue实现axios图片上传功能
Aug 20 #Javascript
扫微信小程序码实现网站登陆实现解析
Aug 20 #Javascript
vue+element-ui+axios实现图片上传
Aug 20 #Javascript
vue element upload实现图片本地预览
Aug 20 #Javascript
You might like
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
2014/10/22 PHP
PHP整合七牛实现上传文件
2015/07/03 PHP
PHP检测用户是否关闭浏览器的方法
2016/02/14 PHP
PHP常见字符串操作函数与用法总结
2019/03/04 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
php is_numberic函数造成的SQL注入漏洞
2014/03/10 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
js实现简单的打印表格
2020/01/15 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
python函数返回多个值的示例方法
2013/12/04 Python
Fabric 应用案例
2016/08/28 Python
Python工程师面试必备25条知识点
2018/01/17 Python
python实现批量nii文件转换为png图像
2019/07/18 Python
3种python调用其他脚本的方法
2020/01/06 Python
Django更新models数据库结构步骤
2020/04/01 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
2021/03/03 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
美国顶级品牌男士大码服装店:DXL
2017/08/30 全球购物
Belvilla德国:在线预订度假屋
2018/04/10 全球购物
Ancheer官方户外和运动商店:销售电动自行车
2019/08/07 全球购物
领导干部廉政承诺书
2014/03/27 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
科长个人四风问题整改措施思想汇报
2014/10/13 职场文书
2015年招聘工作总结
2014/12/12 职场文书
公司内部升职自荐信
2015/03/27 职场文书
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python