2017-06-15 52 views
0

我currenty有一个菜单在屏幕中间,它默认为“显示”。更改iftrame的高度slidetoggle

在此我有一个用来填充剩余空间的iframe:

<script type="text/javascript"> 
$(document).ready(function() { 
    var main_height = ($(document).height() - 85 - 230 - 40); 
    $(".main").css('height', main_height); 
}); 
</script> 

(其中85 - 230 - 40是别人的DIV占用的地方)。到现在为止还挺好。

但是,当我想要SLIDETOGGLE middle_menu时,我希望iFrame更新其高度并添加230px(并在切换middle_menu时再次移除230px)。代码:

<script type="text/javascript"> 
    $(".middle_toggle").click(function() { 
    $(".middle").slideToggle(20, function() {     
    $(".colapse_bar").toggleClass('middle_colapsed'); 
    $("#colapse_icon").toggleClass("colapse_fix colapse_fix2"); 

    });  
}); 
</script> 

我怎么做到这一点。它只是不工作!需要帮助,谢谢:)

+0

这个不清楚吗? 'slideToggle'做了一些特定的事情,它会滑动,然后切换元素,隐藏或显示它。如果你只是想改变高度,你可以使用'animate()'来做到这一点。 – adeneo

+0

我想让middle_menu滑过去。但是当它出现时,它现在在屏幕底部留下了一个230px的孔。因此,如果middle_menu被切换或不切换,我希望iFrame将230px添加到它自己的视频中。 –

+0

然后在元素被隐藏的同时动画iframe的高度 – adeneo

回答

0

我不得不这样做真丑。但它的工作。

<script type="text/javascript"> 



     $(".middle_toggle").click(function() { 


     $(".middle").slideToggle(20, function() {     
     $(".colapse_bar").toggleClass('middle_colapsed'); 
     $("#colapse_icon").toggleClass("colapse_fix colapse_fix2"); 

     if ($('.middle').is(":hidden")) { 
     var main_height2 = ($(document).height() - 125); 
     $(".main").css('height', main_height2); 
     } 


     if ($('.middle').is(":visible")) { 
     var main_height2 = ($(document).height() - 355); 
     $(".main").css('height', main_height2); 
     } 

     }); 







    }); 
    </script>