我正在尝试简化我添加到正在开发的wordpress主题中的一些功能。滚动后, 我能够将导航锁定到屏幕顶部(仅当窗口宽度在300到500像素之间时), 这归功于堆栈溢出的以下两个问答:
滚动时将对象固定到浏览器窗口顶部
和
如何修复此元素使其停留在滚动页面的顶部?
【在移动设备上滚动时,将锁定元素平滑化到屏幕顶部】问题是, 如果你在移动设备(我正在使用iphone 4)上查看我的网站(digitalbrent.com), 则向下滚动时会注意到导航图标锁定在屏幕顶部, 但是停止滚动以使导航显示在顶部。我想对其进行修复, 以便即使用户正在积极滚动时, 导航也将真正平滑地停在页面顶部, 而不必等到用户停止滚动才显示在顶部。有人能指出我正确的方向吗?有没有比.scroll更好的功能?任何帮助或建议, 我们将不胜感激。这是我用来将导航锁定到屏幕顶部的代码:
jQuery的:
$(function() {
var max_scroll = $("#nav").position().top;
$(document).ready(function() {
$(window).scroll(function() {
var navAdjust = $(".navScroll");
var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
if (scrollTop >
max_scroll &
&
!navAdjust.is(".navScrollFixed")) {
navAdjust.addClass("navScrollFixed");
}
else if (scrollTop <
max_scroll &
&
navAdjust.is(".navScrollFixed")) {
// console.log("return to normal");
navAdjust.removeClass("navScrollFixed");
}
});
});
});
CSS:
#nav.navScrollFixed{
position:fixed;
top: 0;
z-index: 100;
background: black;
border-bottom: 5px solid #27f231;
width: 100%;
left: 0;
margin-left: 0px;
margin-top: 0px;
}
HTML:
<
div id="nav" class="navScroll">
<
ul>
<
li id="home">
<
div class="navIcon">
<
/div>
Home
<
/li>
<
li id="blog">
<
div class="navIcon">
<
/div>
Blog
<
/li>
<
li id="resume">
<
div class="navIcon">
<
/div>
Resume
<
/li>
<
li id="portfolio">
<
div class="navIcon">
<
/div>
Portfolio
<
/li>
<
li id="lab">
<
div class="navIcon">
<
/div>
&
nbsp;
Lab&
nbsp;
<
/li>
<
li id="contact">
<
div class="navIcon">
<
/div>
Contact
<
/li>
<
/ul>
<
/div>
重申一下, 该代码正在运行, 我只想在移动设备上进行平滑处理。
#1我相信在滚动停止之前, iPhone和iPad上的移动浏览器不会触发onScroll事件。因此, 一旦用户滚动, 你拥有的任何用于调整css的脚本都不会执行, 直到他们停止滚动。此外, 它不会在滚动时连续触发任何事件。另一方面, Android在滚动时会立即并不断触发事件。这响应速度更快, 但由于每秒以约60次发射, 因此可以使基于滚动的任何处理陷入困境。
推荐阅读
- 有关single.php工作原理 WordPress文件的一些信息()
- 分享pp助手设置铃声的图文详细教程
- 靠谱助手如何绑定谷歌账号
- 小米盒子WiFi热点怎样设置
- 眼萌激活防删除开关图文详细教程
- 压缩软件哪个好?2345好压与WinRAR的解压缩实力比较
- 手机淘宝摇一摇怎样玩
- 百度钱包信用卡还款图文详细教程
- QQ旋风安装不知道决办法