2

display: none;divのスタイルがからに変更されたときにjQueryコードを実行しようとしていますdisplay: block;

私はタブを使用しているので、このdivのスタイルはこのように変化します。このjQueryコードは、このタブを表示しているときにのみ実行する必要があります。

では、どうすればこれを達成できますか?

ありがとう。

編集:試してみ.is(':visible');ましたが、ページを読み込んでこのdivが表示されている場合にのみ機能し、このdivが後で表示される場合は機能しません。

4

4 に答える 4

2
if($("#myTab").is(':visible')){
    here is your code ...
}
于 2012-04-30T10:46:14.803 に答える
2

次のようなものを試してください:

if($(DIV).is(':visible')) {   // DIV => valid selector of your target
   // execute your code
}

また:

if($('body').on('EVENTNAME', 'DIV:visible')) {   // DIV => valid selector of your target
   // execute your code
}
于 2012-04-30T10:46:25.133 に答える
2

探しているのはDOMミューテーションイベントです。これは、DOM要素が挿入、削除、または変更されたときにイベントを発生させる可能性があります。

残念ながら、これらは十分にサポートされておらず、DOM3では非推奨になりました

いずれにせよ(しゃれは意図されていません)、あなたの場合、タブが表示される原因となるUIイベントをキャッチする方が簡単です。

于 2012-04-30T11:00:28.227 に答える
-1
$(document).ready(function(){
    $(your tab container).click(function(){
        //set none property to all of your id's
        var obj=$this;
        if(obj){
            $("your id").style.display="block"; // set block to your current item
        }
    });
});

また

if($("you id").is('visible')){
    //do it
}
于 2012-04-30T10:46:19.717 に答える