Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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 Jquery浏览器滚动问题_Javascript_Jquery_Height_Scrollbar - Fatal编程技术网

Javascript Jquery浏览器滚动问题

Javascript Jquery浏览器滚动问题,javascript,jquery,height,scrollbar,Javascript,Jquery,Height,Scrollbar,我想测试一个网页是否有一个垂直的滚动条,在页面底部添加一些填充像素,以便在底部有一个框的情况下固定位置。问题是,当我使用返回的窗口高度值测试文档高度时,同时“正文高度”标记返回0“正文高度”未设置为动态。此外,以下函数也无法正常工作: function hasScroll(el, direction) { direction = (direction === 'vertical') ? 'scrollTop' : 'scrollLeft'; var result = !! el[directio

我想测试一个网页是否有一个垂直的滚动条,在页面底部添加一些填充像素,以便在底部有一个框的情况下固定位置。问题是,当我使用返回的窗口高度值测试文档高度时,同时“正文高度”标记返回0“正文高度”未设置为动态。此外,以下函数也无法正常工作:

function hasScroll(el, direction) {
direction = (direction === 'vertical') ? 'scrollTop' : 'scrollLeft';
var result = !! el[direction];
if (!result) {
el[direction] = 1;
result = !!el[direction];
el[direction] = 0;
}
return result;
}

css主体设置为:

body{
font-family:'DINRegular';
margin:0 auto;
padding:0;
font-size:13px;
color:#000;
} 
尽管页面中存在滚动条,但返回的总是false


谢谢您的建议。

您需要在首次加载文档时以及调整窗口大小时检查垂直滚动条。这里有一个粗略的例子

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function() {  
var hasScrollbar = $('body').outerHeight()+16 > $(window).height();
if(hasScrollbar){ 
$('#message').show();
} else {
$('#message').hide();
};
}); 
$(window).resize(function() {
var hasScrollbar = $('body').outerHeight()+16 > $(window).height();
if(hasScrollbar){ 
$('#message').show();
} else {
$('#message').hide();
};
});
</script>
<div style="width:600px;height:600px;border:1px solid blue;">
test -
<div id="message" style="display:none;">has vertical scrollbar</div>
</div>

非常感谢。我会试试你写的。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>
$(document).ready(function() {  
var hasScrollbar = $('body').outerHeight()+16 > $(window).height();
if(hasScrollbar){ 
$('#message').show();
} else {
$('#message').hide();
};
}); 
$(window).resize(function() {
var hasScrollbar = $('body').outerHeight()+16 > $(window).height();
if(hasScrollbar){ 
$('#message').show();
} else {
$('#message').hide();
};
});
</script>
<div style="width:600px;height:600px;border:1px solid blue;">
test -
<div id="message" style="display:none;">has vertical scrollbar</div>
</div>