jQuery:使用delay()和prepend()

时间:2010-07-14 06:40:18

标签: jquery delay prepend

在以下代码中,最后一行不起作用:

$('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被隐藏了)?

2 个答案:

答案 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 );