我有一个页面,其中包含一个带有html的img持有者: -
<img src="someimage.jpeg" alt="image" class="show_image"/>
现在我使用代码使用jquery更新图像...
$('.show_image').attr('src', 'anotherimage.jpeg');
现在当图像加载时我想运行一些代码......
作为图像缩放并让用户知道图像已加载
我运行此代码以了解图像已加载...
var inc = 0;
$('.show_image').load(function() {
inc++;
console.log('image loaded '+inc);
});
现在反复更新img src,上面的加载函数显示出一个奇怪的
行为,被称为img src更新的次数......
查看此页面上的firebig日志...(使用上面的上一个按钮)
pradyut.dyndns.org/original_image.jsp#imgid=202
我想我必须像这样运行代码
if(inc==1) {
//run code
}
任何帮助
由于
答案 0 :(得分:3)
$('.show_image').one('load', function() {
inc++;
console.log('image loaded '+inc);
});
这会在第一次运行后删除处理程序。
答案 1 :(得分:0)
仅在图像上绑定一次加载事件,而不是每次加载新图像时都绑定。
或者,在绑定新事件之前,使用unbind
方法取消绑定任何先前的加载事件。