0

別の div が表示されているときに、jQuery を使用して 1 つの div を自動的に非表示にする方法を見つけようとしています。これを行う方法はありますか?

私はjQueryを初めて使用し、まだ学習中ですが、次のようになると思います。

 <script>
    (function () {
        if ($('.infobox-favourites').is(":visible")) {
             $(".infobox-more").fadeOut(500);


        }
    });
</script>
4

1 に答える 1

0

この JsBin の例を確認してくださいhttp://jsbin.com/oreyeg/1/edit

このコードを使用しました

setInterval(function() {
  var div1 = $('.infobox-favourites').css("display");
        if (div1 != 'none') {
             $(".infobox-more").fadeOut(500);       
        }

    },200);

setInterval を使用して、200 ミリ秒ごとにコードを実行し、変更を確認しました。一度だけ実行したい場合は、削除できます。

何が問題なのかわかりません。問題は :visible にあったと思います。使用 :hidden も機能するはずですが、例では CSS メソッドを使用して display プロパティの値を取得し、機能しました。

注: setIntervalなしでコードを実行しようとしましたが、うまくいきませんでした:(しかし、setTimeoutはスクリプトの実行に役立ちます

setTimeout(function() {
//$(".div2").hide();  
  var div1 = $('.div1').css("display");
        if (div1 != 'none') {
          $(".div2").fadeOut(500);       
        }
  else {
  $(".div1").fadeIn(500);   
  }

    },0);
于 2013-01-23T17:02:25.597 に答える