我正在为我的一个客户建立一个网站。我使用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,则导航栏会陷入循环。
这是我的网站,其中包含我的意思。 (仅在向下缩放浏览器然后开始滚动时才有效)
我希望有人可以帮我解决这个问题。
答案 0 :(得分:1)
在我看来,在调整浏览器大小时,screenWidth设置不正确或不更新。这是有道理的,因为你在初始化函数中设置它。为什么不直接引用screen.width而不是将它存储在自己的变量中?
编辑,与windowHeight相同。