有没有办法使用jQuery添加事件监听器,就像AS 3.0中可用的那样?
例如,如果你加载一个图像,(将它的不透明度设置为零,以便它不会出现在屏幕上),jQuery是否有类似onComplete事件监听器的东西,它在负载完成时监听?加载成功后,您可以启动另一个功能,将其不透明度再次淡化为1。
我已经看过一些已编写的插件,但我想问一个问题,看看是否有人在没有使用第三方插件的情况下找到了解决方案。
感谢。
答案 0 :(得分:2)
这样的东西?
$(function(){
$("img").hide().load(function(){
$(this).fadeIn();
});
});
第一行是$(document).ready(function(){
然后我们只需选择所有img
元素,然后隐藏它们并为它们添加一个load
处理程序,将它们淡入。
虽然,如果缓存上述可能会被证明是麻烦。以下将解决这个问题。
$(function(){
$("img").hide().each(function(){
if(!$(this).width()){ // image dimensions are unavailable if it's not loaded
$(this).load(function(){
$(this).fadeIn();
});
}else{ //if the image is loaded already
$(this).fadeIn();
}
});
});