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


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.Validate进行客户端验证(初级篇) 不使用微软验证控件的理由
Jun 28 Javascript
eval与window.eval的差别分析
Mar 17 Javascript
js实现的切换面板实例代码
Jun 17 Javascript
jquery实现鼠标滑过显示提示框的方法
Feb 05 Javascript
JavaScript中常用的六种互动方法示例
Mar 13 Javascript
基于jquery实现简单的手风琴特效
Nov 24 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
vue元素实现动画过渡效果
Jul 01 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
Sep 18 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
Jan 15 Javascript
jQuery实现动态生成年月日级联下拉列表示例
May 11 jQuery
Vue 封装防刷新考试倒计时组件的实现
Jun 05 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
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
2014/06/19 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
超强多功能php绿色集成环境详解
2017/01/25 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
js或者jquery判断图片是否加载完成实现代码
2013/03/20 Javascript
jQuery之自动完成组件的深入解析
2013/06/19 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
jQuery中trigger()与bind()用法分析
2015/12/18 Javascript
JS前端开发判断是否是手机端并跳转操作(小结)
2017/02/05 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
解决vuecli3.0热更新失效的问题
2018/09/19 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
Vue使用localStorage存储数据的方法
2019/05/27 Javascript
vue+express+jwt持久化登录的方法
2019/06/14 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
2019/12/12 Javascript
Vue数据双向绑定原理实例解析
2020/05/15 Javascript
微信小程序自定义顶部组件customHeader的示例代码
2020/06/03 Javascript
Django中的forms组件实例详解
2018/11/08 Python
python实现字符串加密成纯数字
2019/03/19 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
2019/06/19 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
html5 移动端视频video的android兼容(去除播放控件、全屏)
2020/03/26 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
商务英语求职自荐信范文
2013/12/24 职场文书
劳动模范事迹材料
2014/01/19 职场文书
小学语文国培感言
2014/03/04 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
企业活动策划方案
2014/06/02 职场文书
传承焦裕禄精神思想汇报2014
2014/09/10 职场文书
补充协议书
2015/01/28 职场文书
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
MySql数据库触发器使用教程
2022/06/01 MySQL