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 に答える