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

$('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前缀)?

最佳答案

.delay()仅适用于jQuery fx methods.prepend()不是其中之一。

您可以像这样解决

$('span.scorer_away').delay(3000).show(1, function(){
    $(this).prepend('<img src="chofbauer.png" alt="" />');
});


实际上,您必须为“干净”的解决方案创建自己的.queue()

完成该任务的另一种方法是使用JavaScript本机setTimeout()

setTimeout(function(){
   $('span.scorer_away').prepend('<img src="chofbauer.png" alt="" />');
}, 3000);

关于jquery - jQuery:使用delay()和prepend(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3243885/

10-09 14:19