延迟方法无法使用我的功能

时间:2014-02-06 16:42:46

标签: jquery

调用此函数时尝试获得一秒延迟,但不会延迟。我做错了什么?

function currentGrassColor(){
    var grassField = $('.currentProgram_grassBg').find('img');
    grassField.delay(1000).attr('src', 'img/grassRed.png');
}

3 个答案:

答案 0 :(得分:1)

尝试.setTimeout()

function currentGrassColor(){
    var grassField = $('.currentProgram_grassBg').find('img');
    setTimeout(function(){
        grassField.prop('src', 'img/grassRed.png');
    },1000);
}

答案 1 :(得分:0)

使用.setTimeout()设置延迟

function currentGrassColor(){
    var grassField = $('.currentProgram_grassBg').find('img'); 
    setTimeout(function(){grassField.attr('src', 'img/grassRed.png');},1000);
}

答案 2 :(得分:0)

使用超时,或者,如果使用delay(),则需要将相对代码放入队列中延迟:

function currentGrassColor() {
    var grassField = $('.currentProgram_grassBg').find('img');
    grassField.delay(1000).queue(function (next) {
        $(this).attr('src', 'img/grassRed.png');
        next();
    });
}