延迟jquery错误函数的执行

Delay execution of jquery error function

本文关键字:执行 函数 错误 jquery 延迟      更新时间:2023-09-26

我使用下面的错误函数来隐藏似乎无法加载的外部图像。然而,图像很容易隐藏,我认为这是因为函数执行得太快了。是否有一种方法在Jquery延迟函数两秒钟?

$(".display li img").error(function () {
    $(this).parent().parent().hide("fast");
    pos3 = $(this).attr("id"); 
    reportrefcam();
});

我可能会从另一边做。等待页面load事件,然后检查所有图像。检查的意思是,看看图像是否有widthheight,如果没有,它很可能坏了。

$( window ).on('load', function() {
    $( '.display li img' ).each(function() {
        if( (!this.width || !this.height) ) {
            pos3 = $( this ).attr( 'id' ); 
            reportrefcam();
            $( this ).hide( 'fast' );
        }
    });
});

: http://jsfiddle.net/vLC7U/

窗口load事件将最终触发当所有图像+ iframe在您的整个侧加载。所以我们可以这样说,如果一张图片在这个点上没有维度,它就被破坏了

使用setTimeout方法

$(".display li img").error(function () {
    var self = $(this);
    setTimout(function(){
        self.parent().parent().hide("fast");
        pos3 = self.attr("id"); 
        reportrefcam();
    }, 2000);
});

您可以使用delay()来延迟jQuery函数的执行,也可以简单地使用setTimeout()。我不清楚你需要延迟什么,所以我不知道什么是最好的方法

一般java-script:

setTimeout("delayedFunctionName()",1000);

这里"delayedFunctionName()"是要调用的函数,"1000"是以毫秒为单位的时间延迟