微信小程序仿今日头条导航栏滚动解析
作者:IT-HourseMan 发布时间:2024-04-29 13:55:42
标签:微信,小程序,今日头条,导航栏,滚动
项目需要,做一个和今日头条一样的导航栏,可以横行滚动,幸好再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,导致滑动敏感触发
});
来源:https://www.cnblogs.com/dehuachenyunfei/p/wechat_nav_iscroll.html
0
投稿
猜你喜欢
- 那么在集合函数中它有什么用呢 ?假设数据库有一张表名为student的表。如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省
- 前言字典是Python中最强大的数据类型之一,本文将给大家详细介绍关于Python合并两个字典(dict)的相关内容,分享出来供大家参考学习
- 人生苦短,快学Python!最近有位读者朋友遇到了一个小问题,私聊找小五答疑。感觉也会有其他同学会遇到,所以干脆分享出来。如下图所示,在本地
- 上次遇到一个需要打包下载批量图片的问题,找了一下发现这个好方法,记录一下。首先新建一个zipfile打包类:<?phpclass zi
- Asyncio 任务可以通过调用它们的 cancel() 方法来取消。我们可以通过将任务包装在对 asyncio.shield() 的调用中
- QThread是Qt的线程类中最核心的底层类。由于PyQt的的跨平台特性,QThread要隐藏所有与平台相关的代码要使用的QThread开始
- RegExp对象的语义和使用:检查字符串匹配获取字符串中的部分内容在原字符串的基础上构建一个新的字符串(包括添加、删除和修改)构建一个Reg
- 介绍本篇将介绍Python3中的迭代器与生成器,描述可迭代与迭代器关系,并实现自定义类的迭代器模式。迭代的概念上一次输出的结果为下一次输入的
- 代理模式的优点代理模式可以保护原对象,控制对原对象的访问;代理模式可以增强原对象的功能,通过代理对象来添加一些额外的功能;代理模式可以提高系
- 语法object instanceof constructor参数object:要检测的对象.constructor:某个构造函数描述:in
- 一、业务需求在使用Python进行业务开发的时候,需要将一些数据保存到本地文件存储,方便后面进行数据分析展示。二、需求分析通过查看需求可得出
- SQL查询某字段的值为空sql中字段的默认有NULL和另一种空白的形式如何取查询这两种存在的记录呢?空白值查询:SELECT * FROM
- FTP服务的主动模式和被动模式在开始之前,先聊一下FTP的主动模式和被动模式,两者的区别 , 用两张图来表示可能会更加清晰一些:主动模式:主
- Python Json读写操作_JsonPath用法详解1. 介绍JSONPath是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,
- varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大
- 目录一、 环境准备:1.docker环境2.安装mariadb数据库二、ORM1.ORM简介2.django配置数据库第一种方式:第二种方式
- 两种方式:1.IP+SID方式 2.配置链接方式1..IP+SID方式DbHelperOracle.connectionString = s
- Xxencode编码,也是一个二进制字符转换为普通打印字符方法。跟UUencode编码原理方法很相似,唯独不同的是可打印字符不同。通个UUe
- <html xmlns="http://www.w3.org/1999/xhtml"><head>
- server:#coding=utf-8from BaseHTTPServer import BaseHTTPRequestHandleri