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


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实现瀑布流布局
Jun 28 Javascript
基于javascript实现简单的抽奖系统
Apr 15 Javascript
轻松实现js选项卡切换效果
Sep 24 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
Dec 08 Javascript
整理关于Bootstrap警示框的慕课笔记
Mar 29 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
Jun 12 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
Nov 20 Javascript
Vue2.0实现组件数据的双向绑定问题
Mar 06 Javascript
浅谈vue.js导入css库(elementUi)的方法
Mar 09 Javascript
p5.js临摹旋转爱心
Oct 23 Javascript
微信小程序实现天气预报功能(附源码)
Dec 10 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
Feb 07 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
编写漂亮的代码 - 将后台程序与前端程序分开
2008/04/23 PHP
PHP Stream_*系列函数
2010/08/01 PHP
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
php读取mssql的ntext字段返回值为空的解决方法
2014/12/30 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
JavaScript中数组成员的添加、删除介绍
2014/12/30 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
jQuery Validate插件自定义验证规则的方法
2016/12/27 Javascript
详解vue.js数据传递以及数据分发slot
2018/01/20 Javascript
cdn模式下vue的基本用法详解
2018/10/07 Javascript
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
利用原生JS实现data方法示例代码
2019/05/28 Javascript
小程序自定义圆形进度条
2020/11/17 Javascript
Python实现遍历数据库并获取key的值
2015/05/17 Python
Python计算一个文件里字数的方法
2015/06/15 Python
Python实现KNN邻近算法
2021/01/28 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
财务信息服务专业自荐书范文
2014/02/08 职场文书
小学生家长寄语
2014/04/02 职场文书
信访维稳承诺书
2015/05/04 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
用javascript制作qq注册动态页面
2021/04/14 Javascript
goland 恢复已更改文件的操作
2021/04/28 Golang
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS