有谁知道为什么这只适用于chrome。它基本上是一个代码,当您通过导航固定类向下滚动时,会将导航栏捕捉到顶部。函数fix_top_bar是一种使创建的条中心的方法。
function fix_top_bar(){
var barWidth = $('.nav-fixed').width();
$('.nav-fixed').css({ 'left' : '50%', 'margin-left' : '-' + (barWidth/2 + 20) + 'px' });
}
$('document').ready(function() {
$(window).scroll(function() {
if ($('body').scrollTop() > 112) {
$('nav').addClass('nav-fixed');
fix_top_bar();
}else{
$('.nav-fixed').css({ 'left' : '', 'margin-left' : ''});
$('nav').removeClass('nav-fixed');
}
});
fix_top_bar();
$(window).resize(function(){
fix_top_bar();
});
});
答案 0 :(得分:2)
我认为你的问题是
$('document').ready(function() {
尝试
$(document).ready(function() { // Note there is no tag <document>
答案 1 :(得分:0)
if ($('html').scrollTop() > 112) {
而不是$('body').scrollTop()
适合我。
修改强>
但这不适用于Chrome ... doh。
其他编辑
丑陋,但这适用于:
var scrollTop = Math.max($('body').scrollTop(), $('html').scrollTop());
if (scrollTop > 112) {
必须有一个更好的跨浏览器解决方案......