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


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 相关文章推荐
javascript OFFICE控件测试代码
Dec 08 Javascript
图片在浏览器中底部对齐 解决方法之一
Nov 30 Javascript
js前台判断开始时间是否小于结束时间
Feb 23 Javascript
ES6中非常实用的新特性介绍
Mar 10 Javascript
Bootstrap输入框组件简单实现代码
Mar 06 Javascript
JS实现websocket长轮询实时消息提示的效果
Oct 10 Javascript
微信小程序canvas实现刮刮乐效果
Jul 09 Javascript
详解Vue 匿名、具名和作用域插槽的使用方法
Apr 22 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
Feb 03 Javascript
详细分析Node.js 模块系统
Jun 28 Javascript
Vue中computed及watch区别实例解析
Aug 01 Javascript
JS Canvas接口和动画效果大全
Apr 29 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
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
一个ubbcode的函数,速度很快.
2006/10/09 PHP
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
php实现简单文件下载的方法
2015/01/30 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
php动态绑定变量的用法
2015/06/16 PHP
PHP的Laravel框架中使用AdminLTE模板来编写网站后台界面
2016/03/21 PHP
js修改input的type属性及浏览器兼容问题探讨与解决
2013/01/23 Javascript
纯js实现仿QQ邮箱弹出确认框
2015/04/29 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
理解javascript中try...catch...finally
2015/12/25 Javascript
Bootstrap开关(switch)控件学习笔记分享
2016/05/30 Javascript
ES6所改良的javascript“缺陷”问题
2016/08/23 Javascript
Bootstrap轮播插件使用代码
2016/10/11 Javascript
EasyUI创建人员树的实例代码
2017/09/15 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
2019/09/03 Javascript
Vue 实现CLI 3.0 + momentjs + lodash打包时优化
2019/11/13 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
jQuery实现全选按钮
2021/01/01 jQuery
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
scrapy爬虫完整实例
2018/01/25 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
彻底理解Python中的yield关键字
2019/04/01 Python
NumPy中的维度Axis详解
2019/11/26 Python
Python 之 Json序列化嵌套类方式
2020/02/27 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
全天然狗零食:Best Bully Sticks
2016/09/22 全球购物
体育老师的教学自我评价分享
2013/11/19 职场文书
银行竞聘演讲稿范文
2014/04/23 职场文书
白酒营销策划方案
2014/08/17 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
党员干部作风建设思想汇报范文
2014/10/25 职场文书
导游词之日月潭
2019/11/05 职场文书
Go语言基础函数基本用法及示例详解
2021/11/17 Golang