繁体   English   中英

适用于谷歌浏览器,但不适用于Firefox和IE浏览器

[英]Works for google chrome but not for firefox and IE

有谁知道为什么这只适用于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();  
    });
    });

我认为你的问题是

$('document').ready(function() {

尝试

$(document).ready(function() { // Note there is no tag <document>

if ($('html').scrollTop() > 112) {

而不是$('body').scrollTop()在Firefox中适用于我。

编辑

但这不适用于Chrome ... doh。

另一个编辑

丑陋,但这适用于:

var scrollTop = Math.max($('body').scrollTop(), $('html').scrollTop());
if (scrollTop > 112) {

必须有一个更好的跨浏览器解决方案......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM