onscroll在移动端的使用
1.实际需求
(移动端项目)当往下滑动到一定距离时,显示导航栏,导航栏定位在顶部,当向上滑动并小于那个距离时,导航栏隐藏。
2.解决方案
实时监测浏览器滚动高度,绑定onscroll事件,具体详情见此文--https://github.com/merrier/mobile-scroll-events,此文介绍的很详细,包括在Android 和 ios上的兼容性问题,以及处理方案。下面说点此文没有的。
3.期间所遇问题
- scrollY & pageYOffset
当时因未知原因,使用scrollTop在ios上测试失败,后在上文链接中的参考文章onscroll Event Issues on Mobile Browsers中,发现里面的实例使用的window.scrollY,可以实时反映滚动条滚动高度,即便是惯性滚动也能成功反映出。pageYOffset是scrollY的别名,区别在于pageYOffset的兼容性比较好。 - 关于pageYOffset出现的bug问题
官方给出的定义为只读,然而实际情况却是如下:(实例为仿百度做的)
(1)绑定onscroll事件
(2)导航切换,页面滚动到222px的地方,不显示上方的搜索框内容
(3)页面初始进去,没什么问题,效果正常。但是当切换了导航后,问题就来了,滚动到顶部,导航却出现了,
(4)观察到打印出的window.pageYOffset,在切换了导航后一直为 222, what??????
这个怎么看怎么像是被赋值了,说好的只读呢?(暂未理解。。。)
(5)最后的解决办法,就是把window.pageYOffset去掉了,不用效果也是正常的(当时阴差阳错才用到这个)
转载于:https://www.cnblogs.com/shenmissing/p/9072921.html
onscroll在移动端的使用相关推荐
- javaScript PC端网页特效
PC端网页特效 1. 元素偏移量 offset 系列 1.1 offset 概述 1.2 offset 与 style 区别 2. 元素可视区 client 系列 2.1 立即执行函数 2.2 loa ...
- 移动端的touch事件处理
简要的探讨一下移动端 touch 事件处理几个坑,以及相应的简单处理方法. click 穿透 假设有个弹出层,上面有个关闭的按钮支持 touchend 触发后关闭,若正好下方有个元素支持 click ...
- vite+ts+vue组合式api-c端-移动端项目(保姆级教学)
文章目录 一.项目创建准备工作 1.配置vite和ts默认项 2.配置路由命名 3.配置环境源env 4.二次封装axios 5.配置反向代理 6.测试请求接口 7.配置rem,配置移动端 8.配置v ...
- 移动端+京东移动端首页制作
一:移动端的viewport 手机拥有了浏览器的初期,人们并没有专门为移动设备设计页面,造成的直接结果就是,访问的页面是直接将电脑页面进行缩放,操作起来有诸多不便,viewport就是用来解决这个问题 ...
- 移动端、PC端 网页特效
移动端网页特效 标题触屏事件 移动端浏览器兼容性较好,不需要考虑以前 JS 的兼容性问题,可以放心的使用原生 JS 书写效果,但是移动端也有自己独特的地方.比如触屏事件 touch(也称触摸事件),A ...
- IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法
IOS端 vux中scroll滚动自动回弹到顶部或者左侧的解决办法 问题表象 在滑动的时候,偶发性出现自动回弹到顶部的现象,通过onScroll回调发现scrollTop为-1造成回弹,开始寻找为什么 ...
- android avm灰色,APICloud AVM多端开发案例深度解析(上)--点餐app开发
AVM多端开发是APICloud定义的一套新的代码编写标准(DSL):基于标准Web Components组件化思想,兼容Vue / React语法特性,通过一次编码,分别编译为Android和iOS ...
- APICloud AVM多端开发 | 《外卖app开发》项目源码深度解析(上)
为了让开发者更加快速的学习和了解APICloud多端开发技术,APICloud平台特别推出一款多端源码-<餐饮点餐>,可以体验一套代码编译Android和iOS app+小程序. AVM多 ...
- android 电商app组件化,APICloud AVM多端开发案例深度解析(一)--生鲜电商app开发
AVM多端开发是APICloud定义的一套新的代码编写标准(DSL):基于标准Web Components组件化思想,兼容Vue / React语法特性,通过一次编码,分别编译为Android和iOS ...
最新文章
- python语法知识_Python基础语法知识汇总(学习党的最爱!)
- java Android版_java-Android系统版本
- MspEmu 一阶段小结
- python学习笔记四-列表
- Microsoft Azure云服务停机!系水泵未知原因关闭导致
- file input 点击没反应_动态input file多文件上传到后台没反应的解决方法!!!
- clone()与image和 cloneTo()
- getResourceAsStream总是返回null以及intellij总是提示Argument ‘inputStream‘ might be null
- css3 animation 动画属性简介
- CouchDB与Couchbase:区别何在,Membase又将如何?
- MySQL深度剖析之数据在磁盘上存储(2021)
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之22---BDS的分发流程...
- Android UI基础教程 目录
- redis字符串的创建,set、mset、setex、setnx
- 【计算机组成原理】冯诺伊曼结构和计算机性能指标
- 计算机一级补考53分能过吗,我考了53分
- python中util是哪个包_使用Python的package机制如何简化utils包设计详解
- C语言多线程之“哲学家就餐”问题
- PTA解封日期C语言
- 巧妙利用标签TAG做长尾关键词上首页
热门文章
- 如何构建一个基于IEC61499 的“云化PLC“
- STM32单片机扫雷游戏TFT触摸操作单片机小游戏
- Win10笔记本触摸板在按键时或刚按完键后无法正常使用的问题
- easy excel date 类型解析报错_9 个绝对用得上的excel日期公式,赶紧拿走!
- 个性篮球队名_你的篮球个性是什么
- Numpy 数组索引
- mysql查询IN索引无效的问题【已解决】
- 井字棋游戏(电脑先)
- 1.超时未支付订单处理
- 嵌入式端音频开发(Unisound篇)之 7.1 蜂鸟M离线语音芯片简介