在以下代码中,最后一行不起作用:
$('button.goal').click(function () {
$('div.scorer_away').animate({
width: 'hide',
opacy: 'hide'
}, 'slow')
.delay(2500)
.animate({
width: 'show',
opacy: 'show'
}, 'slow');
$('span.scorer_away').delay(3000).prepend('<img src="chofbauer.png" alt="" />');
如何让它工作,prepend() - 函数在3秒后添加新图像(因为在容器的2.5秒之后img prepends被隐藏了)?
答案 0 :(得分:1)
.delay()
仅适用于jQuery fx methods
。 .prepend()
不是其中之一。
您可以像
一样解决问题$('span.scorer_away').delay(3000).show(1, function(){
$(this).prepend('<img src="chofbauer.png" alt="" />');
});
实际上,你必须为“干净”的解决方案创建自己的.queue()。
完成该任务的另一种方法是使用javascripts native setTimeout()
。
setTimeout(function(){
$('span.scorer_away').prepend('<img src="chofbauer.png" alt="" />');
}, 3000);
答案 1 :(得分:0)
您可以尝试使用setTimeout
:
function myfunc() { $('span.scorer_away').prepend('<img...>') };
setTimeout( myfunc, 3000 );