2011-12-08 13 views
2

私は、.htmlに基づいて一連の連鎖イベントを達成しようとしています。JQuery連鎖イベント(.html)?

たとえば、私はH1に "何"を持っているのですか?ホバーで、これを "コミュニケーション"、 "有効"、 "変更"に順次変更してから少し遅れてループします。マウスオーバー時には、「What」に戻ります。

私は基本的な変更を「通信」し、マウスアウトの「何」に戻すことができますが、途中で遅延して単語を連鎖させることはできません。 以下はこれまで私が持っていたものです。

$("h1.bleu").hover(
    function() { 
    $(this).html("Communicate");}, 
    function() { $(this).html("What"); 
}); 

ありがとうございます!

答えて

1

私の解決策は、連続してマウスオーバーするたびに変更するのではなく、H1要素にカーソルを移動すると、各単語を循環する点でkarim79とは異なります。

var values = ["Communicate","Effective","Change"]; 
var interval; 
var index = 0; 

$("h1#test").hover(
    function() { 
     interval = setInterval(changeText, 500); 
    }, 
    function() { 
     clearInterval(interval); 
     index = 0; 
     $(this).text("What"); 
    } 
); 

function changeText() { 
    $("h1#test").text(values[index]); 
    index = (index < values.length) ? index + 1 : 0; 
} 

Example fiddle here

+0

ロリー天才。どうもありがとう。まさに私が何をしたのか。 – David

+0

タイムアウトをクリアするとインデックスがリセットされる可能性がありますか? – rlemon

+0

@rlemon良い点が修正されました。 –