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


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数据显示插件整合实现代码
Oct 24 Javascript
UpdatePanel和Jquery冲突的解决方法
Apr 01 Javascript
Javascript检查图片大小不要让大图片撑破页面
Nov 04 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
Jun 13 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
Jan 23 Javascript
js实现倒计时关键代码
May 05 Javascript
JavaScript截屏功能的实现代码
Jul 28 Javascript
新手快速上手webpack4打包工具的使用详解
Jan 28 Javascript
vue实现文字加密功能
Sep 27 Javascript
JavaScript实现京东放大镜效果
Dec 03 Javascript
ant design vue 表格table 默认勾选几项的操作
Oct 31 Javascript
jquery实现拖拽添加元素功能
Dec 01 jQuery
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获取当前网址url并替换参数或网址的方法
2010/06/06 PHP
11个PHP 分页脚本推荐
2011/08/15 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
PHP实现WebService的简单示例和实现步骤
2015/03/27 PHP
关于php开启错误提示的总结
2019/09/24 PHP
基于Jquery实现表格动态分页实现代码
2011/06/21 Javascript
JQuery 文本框回车跳到下一个文本框示例代码
2013/08/30 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
jquery实现炫酷的叠加层自动切换特效
2015/02/01 Javascript
检测一个函数是否是JavaScript原生函数的小技巧
2015/03/13 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
JS获取input[file]的值并显示在页面的实现方法
2018/03/09 Javascript
微信小程序自定义底部导航带跳转功能
2018/11/27 Javascript
Vue指令指令大全
2019/02/09 Javascript
原生js实现下拉选项卡
2019/11/27 Javascript
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
python绘图方法实例入门
2015/05/19 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
Django 2.0版本的新特性抢先看!
2018/01/05 Python
windows下安装Python的XlsxWriter模块方法
2018/05/03 Python
python命令 -u参数用法解析
2019/10/24 Python
Python configparser模块配置文件过程解析
2020/03/03 Python
Python常用数据分析模块原理解析
2020/07/20 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
德国亚洲食品网上商店:asiafoodland.de
2019/12/28 全球购物
什么是serialVersionUID
2016/03/04 面试题
法人授权委托书
2014/04/03 职场文书
大学生活自我评价
2014/04/09 职场文书
2014旅游局领导班子四风问题对照检查材料思想汇报
2014/09/19 职场文书
教导主任个人总结
2015/03/03 职场文书
开学季:喜迎新生,迎新标语少不了
2019/11/07 职场文书