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