0

jquery クリック イベント中に 2 つのステップを実行するアプリケーションを使用しています。1. スプライトと色の属性を持つ要素の CSS プロパティを変更します。 2. ページのスキャンを繰り返す関数を実行します。

ページに css の変更を加えてブラウザに表示し、反復を実行することは可能ですか?

css の変更は、要素にクラスを追加したり、クラスを削除したりすることによって行われます。

onBtn.click(function(event){
    if(clicked['mon'] == 0){
        monBtn.attr("class", "active");
        clicked['mon'] = 1;
        dow['mon'] = 1;
    }
    else {
        monBtn.removeClass("active");
        clicked['mon'] = 0;
        dow['mon'] = 0;
    }
        checkIfButtonsAreClicked();
});
4

1 に答える 1

1

他のコードを実行する前に更新する画面を探している場合は、0msで起動するようにコードを設定できます。

makeCSSChanges();
setTimeout(function () {
    // The browser will only run this callback once it's taken a breath and
    // done its usual behind-the-scenes stuff.
    scanThePage();
}, 0);

タイムアウトが0msに設定されている場合、ほとんどのブラウザーは通常の動作(ページの再描画、ビジネスの開始など)を実行してからスケジュールされたイベントを処理します。

ただし、ほとんどの場合、遅延は問題になるほど目立たないでしょう。遅延大きい場合は、ブラウザ全体を遅らせる可能性のある種類の遅延に近づいています。気をつけろ。

于 2012-12-20T03:22:57.450 に答える