开发者

jQuery: using delay() and prepend()

开发者 https://www.devze.com 2023-01-07 06:21 出处:网络
In the following code the last line doesn\'t work in my way: $(\'button.goal\').click(function () { $(\'div.scorer_away\').animate({

In the following code the last line doesn't work in my way:

$('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="" />');

How can I make it work, that the prepend()-function adds the new image AFTER 3 sec (because after 2,5 sec the contai开发者_如何转开发ner, where the img prepends is hidden)?


.delay() only works with jQuery fx methods. .prepend() is not one of those.

You can workaround it like

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

Actually you would have to create your own .queue() for a "clean" solution.

Another way to accomplish that task is to use javascripts native setTimeout().

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


You could try using setTimeout:

function myfunc() { $('span.scorer_away').prepend('<img...>') };   
setTimeout( myfunc, 3000 );
0

精彩评论

暂无评论...
验证码 换一张
取 消