0

div1 が X 秒間 '.selected' クラスを保持した後に div2 を表示し、div1 が '.selected' クラスを失ったときに非表示に戻す必要があります。これについて最善の方法は何ですか?

4

2 に答える 2

1

クラスが追加される.selectedと、タイムアウトを設定して div 2 を表示できます。

setTimeout(function(){
    //-- code to show div 2 here --//
}, 2000);

2000 は、関数を実行する前に待機するミリ秒単位の時間です。

その後、失われたときに.selecteddiv2 を再び非表示にすることができます ( hide());

于 2013-01-14T15:54:09.497 に答える
1

次のコードを使用して、クラス名イベント リスナーをオブジェクトに追加して、変更を検出できます。

function addClassNameListener(elemId, callback) {
var elem = document.getElementById(elemId);
var lastClassName = elem.className;
window.setInterval( function() {   
   var className = elem.className;
    if (className !== lastClassName) {
        callback();   
        lastClassName = className;
    }
},10);
}

必要に応じて、特定のクラス名を探すように適応させることができます:)

これが実際の動作です:

http://jsfiddle.net/gJgmV/5/

編集:これは、クラスが10ミリ秒ごとに変更されたかどうかを基本的にチェックしているため、おそらく適度に集中的な機能です。

あなたの状況で可能であれば、クラスを設定するものの onclick イベントに関数を追加する方がよいでしょう。デモはこちら: http://jsfiddle.net/gJgmV/6/

于 2013-01-14T16:17:23.877 に答える