【发布时间】:2013-01-27 18:19:35
【问题描述】:
我最近将导航栏用作粘性导航栏,在我向下滚动到某个点后会粘在页面顶部,但是,当我到达页面底部时,整个导航栏会闪烁,并且有时甚至会消失。把它想象成一台会闪烁的旧电视,你最终会敲击侧面以停止闪烁。我将如何点击导航栏以阻止它闪烁。 Here 是我的网站,所以你可以见证闪烁的所有荣耀。
这是我的导航 HTML:
<div id="nav-wrapper">
<div id="nav" class="navbar navbar-inverse affix-top" data-spy="affix">
<div class="navbar-inner" data-spy="affix-top">
<div class="container">
<!-- .btn-navbar is used as the toggle for collapsed navbar content -->
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<!-- Everything you want hidden at 940px or less, place within here -->
<div class="nav-collapse collapse">
<ul class="nav">
<li><a href="#home">Home</a></li>
<li><a href="#service-top">Services</a></li>
<li><a href="#contact-arrow">Contact</a></li>
</ul><!--/.nav-->
</div><!--/.nav-collapse collapse pull-right-->
</div><!--/.container-->
</div><!--/.navbar-inner-->
</div><!--/#nav /.navbar navbar-inverse-->
</div><!--/#nav-wrapper-->
这是我的 JS:
<script>
$(document).ready(function() {
$('#nav-wrapper').height($("#nav").height());
$('#nav').affix({
offset: 675
});
});
</script>
重要的一点是,这只是在我将 JS 中的偏移量从 offset: $('#nav').position() 更改为 offset: 675 之后才开始发生的。你可能会说,好吧,把它改回来,但是用旧的偏移量,我的粘性导航会过早地跳到顶部。
感谢您为我提供的任何帮助!
【问题讨论】:
-
您使用的是哪个浏览器?刚刚用ff和chrome测试过,但看起来还可以。您的网站在我的 1440x900 分辨率显示器上看起来不太好,然后向下滚动。
-
你试过使用
-webkit-perspective: 1000; -webkit-backface-visibility: hidden;吗? Source -
@Morpheus 有趣,我在 FF、Chrome 和 Safari 中对其进行了测试,并且在所有 3 中都有闪烁效果。你的意思是它在那个分辨率下看起来不太好?我的显示器只能得到大约 1300 像素宽。我正在使用 Bootstrap,因此在宽显示器上查看时它确实会表现得很奇怪。关于如何解决它的任何想法?
-
@thekalaban 我已经在 body 和 #nav 标签中测试了该代码,但闪烁效果仍然存在。
-
@Brian 当我单击联系人时它会向下滚动,但我可以看到大约 100 像素的服务内容。宽度看起来还可以。
标签: javascript html css twitter-bootstrap nav