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


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 相关文章推荐
关于jquery性能最佳实践的讨论,与求教
Mar 30 Javascript
javascript操作JSON的要领总结
Dec 09 Javascript
javascript中强制执行toString()具体实现
Apr 27 Javascript
Jquery中offset()和position()的区别分析
Feb 05 Javascript
Flash图片上传组件 swfupload使用指南
Mar 14 Javascript
原生JS实现网络彩票投注效果
Sep 25 Javascript
chorme 浏览器记住密码后input黄色背景处理方法(两种)
Nov 22 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
Mar 05 Javascript
security.js实现的RSA加密功能示例
Jun 06 Javascript
关于AOP在JS中的实现与应用详解
May 06 Javascript
three.js利用gpu选取物体并计算交点位置的方法示例
Nov 25 Javascript
Vue开发中常见的套路和技巧总结
Nov 24 Vue.js
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
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
PHP 面向对象程序设计(oop)学习笔记 (四) - 异常处理类Exception
2014/06/12 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
2014/09/10 PHP
ThinkPHP5 验证器的具体使用
2018/05/31 PHP
PHP从零开始打造自己的MVC框架之类的自动加载实现方法详解
2019/06/03 PHP
PHP7 标准库修改
2021/03/09 PHP
js中精确计算加法和减法示例
2014/03/28 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
jQuery实现鼠标经过提示信息的地图热点效果
2015/04/26 Javascript
JavaScript 实现完美兼容多浏览器的复制功能代码
2015/04/28 Javascript
js+ajax实现获取文件大小的方法
2015/12/08 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
深入分析javascript中console命令
2016/08/14 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
2016/11/25 Javascript
使用JavaScript实现在页面中显示距离2017年中秋节的天数
2017/09/26 Javascript
vue 移动端适配方案详解
2018/11/15 Javascript
浅谈发布订阅模式与观察者模式
2019/04/09 Javascript
微信小程序自定义多列选择器使用详解
2019/06/21 Javascript
动态规划之矩阵连乘问题Python实现方法
2017/11/27 Python
python在每个字符后添加空格的实例
2018/05/07 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
Flask使用Pyecharts在单个页面展示多个图表的方法
2019/08/05 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
详解基于python的全局与局部序列比对的实现(DNA)
2020/10/07 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
澳大利亚当地社区首选的光学商店:1001 Optical
2019/08/24 全球购物
css animation配合SVG制作能量流动效果
2021/03/24 HTML / CSS
党建工作目标管理责任书
2015/01/29 职场文书
工作岗位职责范本
2015/02/15 职场文书
2015年会计个人工作总结
2015/04/02 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
嘉年华活动新闻稿
2015/07/17 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python