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


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 相关文章推荐
JS创建自定义表格具体实现
Feb 11 Javascript
了不起的node.js读书笔记之node.js中的特性
Dec 22 Javascript
js生成验证码并直接在前端判断
May 15 Javascript
把Node.js程序加入服务实现随机启动
Jun 25 Javascript
基于jquery实现日历签到功能
Sep 11 Javascript
JS及PHP代码编写八大排序算法
Jul 12 Javascript
JS实现中国公民身份证号码有效性验证
Feb 20 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
Feb 09 Javascript
微信小程序公用参数与公用方法用法示例
Jan 09 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
Nov 08 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
Mar 10 Javascript
Javascript实现单选框效果
Dec 09 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 编写的 25个游戏脚本
2009/05/11 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
2014/02/24 PHP
PHP实现正则匹配所有括号中的内容
2018/06/22 PHP
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
告诉你什么是javascript的回调函数
2014/09/04 Javascript
JS时间特效最常用的三款
2015/08/19 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
轻松掌握JavaScript中的Math object数学对象
2016/05/26 Javascript
Bootstrap自动适应PC、平板、手机的Bootstrap栅格系统
2016/05/27 Javascript
js实现滑动到页面底部自动加载更多功能
2017/02/15 Javascript
AngularJS入门教程一:路由用法初探
2017/05/27 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
JavaScript中常见内置函数用法示例
2018/05/14 Javascript
微信小程序API—获取定位的详解
2019/04/30 Javascript
浅谈JavaScript中this的指向问题
2020/07/28 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
Vue中 axios delete请求参数操作
2020/08/25 Javascript
Python解释执行原理分析
2014/08/22 Python
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
谈谈Python进行验证码识别的一些想法
2016/01/25 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
python实现3D地图可视化
2020/03/25 Python
基于python 凸包问题的解决
2020/04/16 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
HTML5的语法变化介绍
2013/08/13 HTML / CSS
大学毕业生求职自荐信
2014/02/20 职场文书
绿色出行口号
2014/06/18 职场文书
2014年教师节寄语
2014/08/11 职场文书
党的群众路线教育实践活动剖析材料
2014/09/30 职场文书
环保主题班会教案
2015/08/13 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书