Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在移动设备上滚动时,屏幕顶部的锁定元素更平滑_Jquery_Css_Navigation_Scroll_Wordpress Theming - Fatal编程技术网

Jquery 在移动设备上滚动时,屏幕顶部的锁定元素更平滑

Jquery 在移动设备上滚动时,屏幕顶部的锁定元素更平滑,jquery,css,navigation,scroll,wordpress-theming,Jquery,Css,Navigation,Scroll,Wordpress Theming,我正在尝试平滑我添加到我正在开发的wordpress主题中的一个小功能。我能够在滚动后将导航锁定到屏幕顶部(仅当窗口宽度在300到500像素之间时),这要归功于堆栈溢出的两个Q&A: 及 问题是,如果你在移动设备(我使用的是iphone 4)上查看我的网站(),当你向下滚动时,你会注意到导航图标锁定在屏幕顶部,但是你必须停止滚动,导航才会显示在顶部。我想修复它,这样即使用户正在积极滚动,导航也会在页面顶部真正平稳地停止,而不必等待用户在页面顶部出现之前停止滚动。有人能给我指出正确的方向,告诉

我正在尝试平滑我添加到我正在开发的wordpress主题中的一个小功能。我能够在滚动后将导航锁定到屏幕顶部(仅当窗口宽度在300到500像素之间时),这要归功于堆栈溢出的两个Q&A:

问题是,如果你在移动设备(我使用的是iphone 4)上查看我的网站(),当你向下滚动时,你会注意到导航图标锁定在屏幕顶部,但是你必须停止滚动,导航才会显示在顶部。我想修复它,这样即使用户正在积极滚动,导航也会在页面顶部真正平稳地停止,而不必等待用户在页面顶部出现之前停止滚动。有人能给我指出正确的方向,告诉我怎么做吗?有比.scroll更好的功能吗?非常感谢您的帮助或建议。下面是我用来将导航锁定到屏幕顶部的代码:

jQuery:

$(函数(){
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的事件可能会很有用。如果没有,那么,你还可以做很多其他事情。查找位置:粘性;我已经找到了一个很好的解决方案,在移动设备上运行得非常好。我会尽快把答案公布出来。