假设我已正确推断出问题,似乎CSS min-screen
宽度补偿了滚动条(如预期的那样),而JS似乎没有做同样的事情:(
我在Mac OSX上使用Firefox。我不确定这是否是特定于浏览器的,但我想知道是否有这个问题的通用解决方案。
我做了JS fiddle to demonstrate the problem。在我的浏览器中,CSS和我的JS计算的宽度之间存在15px的差异。
之前有人遇到过这个吗?
答案 0 :(得分:1)
我似乎找到了我的问题的答案,但我不确定这是否是计算正确宽度的最有效方法。
我们的想法是提供body
元素overflow:hidden;
,然后运行函数来计算窗口宽度,然后删除overflow:hidden;
样式。
像这样:
function minScreen480(){
document.body.style.overflow = "hidden";
if ($(window).width() >= 480) {
// Do stuff
}else{
// Do stuff
}
document.body.style.overflow = "";
}
$(window).resize(function(){
minScreen480();
}).trigger('resize');
似乎工作。这可以写得更好吗?