0

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

就像是...

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

...但这不起作用

这是一个可以玩的小提琴

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

4

2 回答 2

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/

于 2012-09-07T15:08:11.573 回答
1

.mouseenter不能耽误。你可以用它.queue来做到这一点

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

小提琴

于 2012-09-07T15:08:25.943 回答