2009-09-22 44 views
1

有人可以向我解釋如何獲取一個元素的高度,然後在另一個元素的其他地方重新使用它,使用jQuery?jQuery - 獲取高度並重新使用它

例如,以具有2個的div,1 & 2,並獲得DIV 1的高度,然後有一個上點擊的div 2事件,它動畫到相同的高度的div 1.

乾杯

回答

2

試試這個:

<div id="div-one" style="height:100px; background: #fb0">first div</div>   
<div id="div-two" style="height:50px; background: #fb0">second div</div> 

<script type="text/javascript"> 
    jQuery("#div-two").click(function() { 
     var desiredHeight = jQuery("#div-one").height(); 
     jQuery(this).animate({height: desiredHeight}, 1000); 
    }); 
</script> 
+0

太棒了,我認爲我的問題有點糟糕,但這正是我所尋找的,所以歡呼。 – 2009-09-22 09:32:39

0
$('#div2').click(function() { 
    $('div2').height($('#div1').height()) 
} 
); 
5

這會工作:

$('#div1').click(function() 
{ 
    $(this).animate({ 
     height: $('#div2').height() 
    }); 
}); 

此外,檢查文檔的更多選項:http://docs.jquery.com/Effects/animate

+0

+1打我給它(: – peirix 2009-09-22 09:20:03

+0

酷 - 是否有一些方法可以存儲原始高度以便稍後重新使用它?例如,存儲div1的高度,因此,如果出於某種原因經歷了一些尺寸更改,則可以將其恢復爲原始高度,然後呢? – 2009-09-22 09:25:25

+0

您可以在更改高度之前添加這樣的線條:window.original _height = $(this).height(); 它會在存儲原始高度的全局命名空間中添加一個變量,但由於可能存在衝突,因此不推薦使用該變量。相反,你應該用你自己的對象替換「窗口」。 – slikts 2009-09-22 10:21:49

0

這是非常基本的jQuery,也許你應該在問這個問題之前看看the manual and API

在API中的一個例子可以在CSS>高度和寬度>高度(VAL)發現:

$("div").one('click', function() { 
    $(this).height(30) 
     .css({cursor:"auto", backgroundColor:"green"}); 
}); 
相關問題