2010-10-27 62 views
1

我想要做的是当用户将鼠标放在缩略图上时,更改网页上的图像。这很容易做到这一点,因为缩略图src只有'tn_'附加到文件名,否则是相同的。关于img src替换的jQuery回调?

我遇到的问题是,当我切换图像上的src时,attr函数几乎立即返回img dom元素,而图像本身不会更改,直到加载新图像。我想要进行某种回调,以便我可以更改光标以显示加载符号,或者在加载新图像时在页面上的某处写入加载内容。

我该怎么做?

回答

4

您可以给图像一个load()回调。

$('#imageID').load(function() { .... }); 
+1

请记住load()并不总是在图像位于浏览器缓存中时触发。您需要使用DOM img.complete添加一些逻辑。阅读load()文档页面上的注释以获得一些见解。 – mpdonadio 2010-10-27 19:40:00

+0

@MPD我知道这是旧的,但这是有关联的。如果在更改src之前将事件绑定到映像,则无论缓存如何,都会触发事件。 – 2012-10-02 20:35:56