当窗口不是>时,为什么(screenWidth> 1000)返回true 1000像素?

时间:2014-08-13 09:58:07

标签: jquery css

我正在为我的一个客户建立一个网站。我使用JQuery确定浏览器是否应显示导航栏。

这是代码的一部分:

var screenWidth = screen.width;
var windowHeight = screen.height;

$(window).scroll(function(){
        if (screenWidth > 1000){
            if($(window).scrollTop() > windowHeight - 201){
                if($(window).scrollTop() > 1700){
                }
                else{
                    $("#follownav").slideDown("fast");
                    $('#follownav').removeClass('hide').addClass('show');
                    if($('#map').attr('src') == 'https://mapsengine.google.com/map/u/0/embed?mid=zwL1aHJX3CX8.kPfcbg2dKR-o') {
                    }
                    else {
                        $('#map').attr('src', 'https://mapsengine.google.com/map/u/0/embed?mid=zwL1aHJX3CX8.kPfcbg2dKR-o');
                    }
                } 
            }
            else{
                $("#follownav").slideUp("fast");
            }
        }
    });

当浏览器窗口高于1000像素时,代码工作正常,但是如果我低于1000px,则导航栏会陷入循环。

这是我的网站,其中包含我的意思。 (仅在向下缩放浏览器然后开始滚动时才有效)

http://www.vnsp.be

我希望有人可以帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

在我看来,在调整浏览器大小时,screenWidth设置不正确或不更新。这是有道理的,因为你在初始化函数中设置它。为什么不直接引用screen.width而不是将它存储在自己的变量中?

编辑,与windowHeight相同。