今天我刚碰到最奇怪的错误。我不确定这是Chrome中的一个错误,还是我可以解决的问题,但是在这里。使用JQuery在Chrome中调整图像大小
我建了一个jQuery函数来调整一组图片被张贴在一个论坛:
$(".post-message img.post-image").load(function(){
$(this).each(function() {
var maxWidth = 200;
if($(this).width() > maxWidth)
{
var factor = $(this).width()/maxWidth;
var width = $(this).width();
var height = $(this).height();
$(this).css('width', width/factor);
$(this).css('height', height/factor);
}
});
});
的问题是,这似乎只当我刷新页面的工作。当您按下上一页或链接到页面时,它不起作用。
铬中$(img).width()
属性在函数不起作用的情况下返回0。如预期在IE9和FF3
这个函数执行
我能做些什么来解决这个奇怪的行为?
我假设这是全部在document.ready或类似的东西? – Neal 2011-04-27 16:01:06
不,它不是。我从堆栈中得到了另外一个答案,它建议在$(img).load()上执行代码。问题实际上是,在两种情况下它都不起作用,$(this).width()'返回0.让我把这个添加到问题中。 – 2011-04-27 16:02:58
尝试在其中包装一个document.ready或其他东西,看看它是否工作。 Chrome可能会在加载图像之前执行脚本,使其宽度为0. – Zirak 2011-04-27 16:05:14