2

在以下代码中,最后一行不适用于我的方式:

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

4

2 回答 2

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);
于 2010-07-14T06:47:15.377 回答
0

您可以尝试使用setTimeout

function myfunc() { $('span.scorer_away').prepend('<img...>') };   
setTimeout( myfunc, 3000 );
于 2010-07-14T06:49:46.343 回答