jQuery - 如果其他元素变得可见,则更改元素高度

时间:2013-10-03 17:57:22

标签: javascript jquery if-statement resize visible

我有3个按钮,toggleFade()3个div。当我点击#link1,div1 fadeIn()等等。 我的目标是在任何这些div被淡入时调整#map_canvas的大小,如果没有可见的话,调整大小为默认值(fadeOut())。

    <a id="link1"></a>
    <a id="link2"></a>
    <a id="link3"></a>

    <div id="map_canvas"></div>

    <div id="wrapper">

   <div id="div1" class="hideMe"></div>
   <div id="div2" class="hideMe"></div>
   <div id="div3" class="hideMe"></div>

   </div>

编辑:jQuery of fadeIn和fadeOut。

 $(document).ready(function() {

     $('#div1').hide();
     $('a#link1').click(function() {

 if (!$('#div1').is(':visible')) 
   {
     $('.hideMe').fadeOut("slow");
     $('#map_canvas').animate({height:"370px"}, 500);
    }

     $('#div1').fadeToggle("slow");

  });

1 个答案:

答案 0 :(得分:0)

尽管我能理解,但我实施了一个例子。我只做了前两个按钮,您可以使用前两个按钮作为示例来实现第三个按钮。

注意:可以合并jQuery,这样只有一个点击功能,但是学习它有助于保持它分离,因此更容易理解。

HTML

<a id="link1">link1</a>
<a id="link2">link2</a>
<a id="link3">link3</a>

<div id="map_canvas"></div>

<div id="wrapper">

<div id="div1" class="hideMe">div1</div>
<div id="div2" class="hideMe">div2</div>
<div id="div3" class="hideMe">div3</div>

使用Javascript / Jquery的

$(document).ready(function() {
        $('.hideMe').hide();
        $('#link1').click(function() {
          $('.hideMe').not('#div1').hide();
          $('#div1').fadeToggle("slow",function(){
              if ($('#div1').is(':visible')) 
              { 
                  $('#map_canvas').animate({height:"370px"}, 500);
              }
              if(!$('.hideMe').is(':visible')){
                  $('#map_canvas').animate({height:"0px"}, 500);
              }
          });
        });
        $('#link2').click(function() {
            $('.hideMe').not('#div2').hide();
            $('#div2').fadeToggle("slow",function(){
              if ($('#div2').is(':visible')) 
                  {
                    $('#map_canvas').animate({height:"370px"}, 500);
                  }
              if(!$('.hideMe').is(':visible')){
                  $('#map_canvas').animate({height:"0px"}, 500);
              }
            });
          });
    });

CSS

       #map_canvas {
        border: 1px solid black;
       }
       a {
           cursor:pointer;
       }

小提琴可以在这里找到

http://jsfiddle.net/qYys7/