Jquery链接语法

时间:2012-09-07 15:02:53

标签: jquery delay mouseenter mouseleave

调用mouseenter()事件...暂停... mouseleave()事件的正确方法是什么?

像...一样的东西。

$('.some_item').each(function(index) {
    $(this).mouseenter().delay(2000*index).mouseleave();
});

......但这不起作用

Here's a fiddle to play with

P.S。我实际上并不想改变任何东西的颜色,小提琴只是一个例子。必须是mouseenter()mouseleave()

2 个答案:

答案 0 :(得分:2)

$(document).ready(function() {
    $('.some_item').mouseenter(function() {
        $(this).css('color', 'red');
    });

    $('.some_item').mouseleave(function() {
        $(this).css('color', 'green');
    });

    $('.some_item').each(function(index) {
        var $this = $(this);
        $this.mouseenter();
        setTimeout(function() { $this.mouseleave(); }, 2000*index);
    });
});​

http://jsfiddle.net/8enTg/3/

答案 1 :(得分:1)

.mouseenter不能延迟。您可以使用.queue来执行此操作

$('.some_item').each(function(index) {
    var elem = $(this);
    elem.mouseenter().delay(2000*index).queue(function(next){
       elem.mouseleave();
       if (next) next();
    });
});

请参阅fiddle