0

我正在尝试找出一种方法,在显示另一个 div 时使用 jQuery 自动隐藏一个 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 回答