Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.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
Javascript 适用于谷歌chrome,但不适用于firefox和IE_Javascript_Jquery - Fatal编程技术网

Javascript 适用于谷歌chrome,但不适用于firefox和IE

Javascript 适用于谷歌chrome,但不适用于firefox和IE,javascript,jquery,Javascript,Jquery,有人知道为什么这只适用于chrome吗。它基本上是一个代码,当您向下滚动导航固定类时,它会将导航条捕捉到顶部。函数fix_top_bar是一种将创建的条居中的方法 function fix_top_bar(){ var barWidth = $('.nav-fixed').width(); $('.nav-fixed').css({ 'left' : '50%', 'margin-left' : '-' + (barWidth/2 + 20) + 'px' }); } $('d

有人知道为什么这只适用于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(){//注意没有标记
if($('html').scrollTop()>112){

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

编辑

但这在Chrome中不起作用…doh

另一次编辑

丑陋,但这在两方面都有效:

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

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

为什么需要js来做这件事?FF中到底发生了什么?@gabe如果你真的想检查它,这是我的另一个线程。@AxelAmthor javascript不起作用。javascript是启用的,无法修复它。有什么想法吗?@madmanali93你能在代码中显示CSS吗?还有一个工作方法在jsfiddle.net或jsbin.com上演示您的问题也会有帮助。@BenjaminGruenbaum NoIdea@rahulmaindargi所有的东西都在这里,这是更新的fiddle@rahulmaindargi,出于某种原因,我发给你的脚本不起作用。这是我的想法,所以html适用于firefox,body适用于html,但你给出的那两行代码不起作用这把小提琴在FF和Chrome两个版本中都对我有效
var scrollTop = Math.max($('body').scrollTop(), $('html').scrollTop());
if (scrollTop > 112) {