在每个循环中创建一个区间

时间:2012-10-07 14:07:41

标签: jquery settimeout each

我正在尝试使用jQuery在每个循环中设置一个间隔。我认为以下可能有效,但没有这样的运气:

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

var slideIn = function() {

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

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

任何能让我知道它有什么问题的人?或者如果我接近它错了?

谢谢!

2 个答案:

答案 0 :(得分: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/的内容?

答案 1 :(得分:0)

你需要那个小plugin 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,$);