Jquery 在移动设备上滚动时,屏幕顶部的锁定元素更平滑
我正在尝试平滑我添加到我正在开发的wordpress主题中的一个小功能。我能够在滚动后将导航锁定到屏幕顶部(仅当窗口宽度在300到500像素之间时),这要归功于堆栈溢出的两个Q&A: 及 问题是,如果你在移动设备(我使用的是iphone 4)上查看我的网站(),当你向下滚动时,你会注意到导航图标锁定在屏幕顶部,但是你必须停止滚动,导航才会显示在顶部。我想修复它,这样即使用户正在积极滚动,导航也会在页面顶部真正平稳地停止,而不必等待用户在页面顶部出现之前停止滚动。有人能给我指出正确的方向,告诉我怎么做吗?有比.scroll更好的功能吗?非常感谢您的帮助或建议。下面是我用来将导航锁定到屏幕顶部的代码: jQuery:Jquery 在移动设备上滚动时,屏幕顶部的锁定元素更平滑,jquery,css,navigation,scroll,wordpress-theming,Jquery,Css,Navigation,Scroll,Wordpress Theming,我正在尝试平滑我添加到我正在开发的wordpress主题中的一个小功能。我能够在滚动后将导航锁定到屏幕顶部(仅当窗口宽度在300到500像素之间时),这要归功于堆栈溢出的两个Q&A: 及 问题是,如果你在移动设备(我使用的是iphone 4)上查看我的网站(),当你向下滚动时,你会注意到导航图标锁定在屏幕顶部,但是你必须停止滚动,导航才会显示在顶部。我想修复它,这样即使用户正在积极滚动,导航也会在页面顶部真正平稳地停止,而不必等待用户在页面顶部出现之前停止滚动。有人能给我指出正确的方向,告诉
$(函数(){
var max_scroll=$(“#导航”).position().top;
$(文档).ready(函数(){
$(窗口)。滚动(函数(){
var navAdjust=$(“.navScroll”);
var scrollTop=document.documentElement.scrollTop | | document.body.scrollTop;
如果(scrollTop>max_scroll&&!navAdjust.is(“.navScrollFixed”)){
navAdjust.addClass(“navScrollFixed”);
}
如果(scrollTop
CSS:
#nav.navScrollFixed{
位置:固定;
排名:0;
z指数:100;
背景:黑色;
边框底部:5px实心#27f231;
宽度:100%;
左:0;
左边距:0px;
边际上限:0px;
}
HTML:
-
家
-
博客
-
简历
-
文件夹
-
实验室
-
接触
重申一下,代码正在运行,我只想在移动设备上进行平滑处理。我相信iPhone和iPad上的mobile safari在停止滚动之前不会触发onScroll事件。因此,一旦用户滚动,任何调整css的脚本都不会执行,直到用户停止滚动。此外,它不会在滚动时连续触发任何事件。另一方面,Android会在滚动时立即持续触发事件。这更具响应性,但可能会使任何基于滚动的处理陷入困境,因为手机每秒发射约60次。您找到答案了吗?没有。。。我一直在努力解决这个问题。好的,我会继续做一些研究,如果我有什么想法,我会告诉你的。只是在元素到达视图端口的顶部之前不确定这是否可行。您使用的是jquery mobile framework吗?如果是这样的话,有一个叫做scrollstart的事件可能会很有用。如果没有,那么,你还可以做很多其他事情。查找位置:粘性;我已经找到了一个很好的解决方案,在移动设备上运行得非常好。我会尽快把答案公布出来。