我有重新调整页面上的缩略图功能:Jquery - 函数如何给出两个不同的结果?
function adjustThumbs(){
if ($(window).width()<900) {
var w = ($("#wrapper").width())/2;
}
else if ($(window).width()>900 && $(window).width()<1100){
var w = ($("#wrapper").width())/3;
}
else if ($(window).width()>1100 && $(window).width()<1680){
var w = ($("#wrapper").width())/4;
}
else if ($(window).width()>1680 && $(window).width()<2300){
var w = ($("#wrapper").width())/5;
}
else if ($(window).width()>2300){
var w = ($("#wrapper").width())/6;
}
$(".tableMaker, .imgContainer").each(function(){ $(this).css("width", w); });
$(".debug").text("debug = "+w);
}
一旦页面加载,我火的功能。
它没有做它应该做的。
但在调整大小,它呢?
我在页面的顶部中间调试DIV这让我发现,页面上的负载,如果浏览器是全屏幕(1440我的MacBook Pro宽),W = 335,但如果我把它移动一个像素,它跳到331.25,这是一个3.75px的差异。
问题是...当我第二次调用该函数时,它确实有效...所以为什么它不能第一次工作?
我的脚本都在页面的底部,一切都在文档准备就绪。
感谢
也许差异是正在加载的页面和准备好的页面之间的差异。它也可能是一个浏览器问题,因为第一个函数在文档准备就绪和我之后调整像素的大小之间的差异很好。 – Marcel 2011-03-30 00:44:34
我认为你已经更好地解释了这个问题。问题是,人们如何规避这种情况,或者是在调整窗口大小时重新调整行为的“假”? – RGBK 2011-03-30 00:48:25
'$(window).resize(function(){adjustThumbs()})。resize();' – Marcel 2011-03-30 00:49:40