2

I am trying to set an interval in an each loop using jQuery. I thought the following may work, but no such luck:

menuSlide = $(this).animate({
  left: '250px'
}, 50, function() {
});

var slideIn = function() {

  $('._jsNav').each(function(){
    setTimeout(function(menuSlide) {
    }, 200);
 });
}

$('._jsStage').mouseenter(slideIn);

Anyone who could let me know what's wrong with it? Or if I am approaching it incorrectly?

Thanks!

4

2 に答える 2

0

このリンクJavaScript Timing Eventsとこの例を見てください。

setTimeout(function(){alert("Hello")},3000); // anonymous function

そして質問に答えてください(あなたのコード):

setTimeout(function(menuSlide) { }, 200); // anonymous function with parameter
// menuSlide is undefined here

このコードはどのように機能する必要がありますか?

追加した:

私が理解しているように、このhttp://jsfiddle.net/hcFGv/のようなものを作成しようとしていますか?

于 2012-10-07T14:34:26.027 に答える
0

その小さなプラグイン jquery-timingの助けが必要です。それはあなたが望むことを非常に短いコードで行います:

$('._jsStage').mouseenter(function(){
    $('._jsNav').each($).wait(200).animate({left:250},50,$);
});

それで全部です!


単一の jQuery 行で同じことをしたい場合、プラグインはさらに短く書くことができます:

$('._jsStage').on('mouseenter').$('._jsNav').each($).wait(200).animate({left:250},50,$);
于 2012-10-07T16:02:58.057 に答える