0

通过阅读另一篇文章,我能够在 Chrome 中使用以下代码获得缩小的导航效果:

$(function(){
    $('nav').data('size','big');
    $('.shrink').data('size','big');
});

$(window).scroll(function(){
    var $nav = $('nav');
    var $shrink = $('.shrink');

    if ($('body').scrollTop() > 0) {
        if ($nav.data('size') == 'big') {
            $nav.data('size','small').stop().animate({
                height:'67px'
            }, 400);
            $shrink.data('size','small').stop().animate({ 
                top: '0'
            }, 400);
        }
    } else {
        if ($nav.data('size') == 'small') {
            $nav.data('size','big').stop().animate({
                height:'90px'
            }, 400);
            $shrink.data('size','small').stop().animate({ 
                top: '1em'
            }, 400);
        }  
    }
});

但是,我在 Firefox 中没有得到相同的效果。我应该怎么做才能使代码兼容?谢谢!

4

1 回答 1

0

不确定为什么 Firefox 没有为 scrollTop() 生成值,但如果我还查看了窗口的 scrollY 属性,我就能让 js 运行。

if ($('body').scrollTop() > 0 || window.scrollY > 0) { ....
于 2013-11-05T14:34:32.190 回答