2013-07-14 32 views
1

我有一個JavaScript多步驟的形式,它隱藏前面的步驟(其是字段集),並顯示下一個與display: none;,它必須是絕對定位用於右效果。JavaScript的解決方案,使可變絕對定位的div,按下其他內容

  • 問題是具有它位於絕對需要它從流的 ,並且不下推內容在其下方。
  • 我試圖創建的解決方案是將父絕對div封裝在相對定位的div中,然後使用JavaScript將父級的高度設置爲絕對div可見的高度。

誰能幫助我的JavaScript?現在,我知道我需要類似於下一個按鈕的東西:var divHeight =((document.getElementById('fieldset')。offsetHeight)+'px'); document.getElementById('variable-div')。style.height = divHeight;但第一部分是錯誤的,因爲我無法通過ID獲取字段集,我需要獲取顯示的字段:block,我不知道該怎麼做

任何幫助將不勝感激!

編輯:這裏是(更新)的jsfiddle:http://jsfiddle.net/n4dk7/6/

編輯2:解決發現: var fieldsetHeight = $("fieldset").filter(':visible').height() + 'px'; $('#variable-div').height(fieldsetHeight);

+0

很難不看演示就告訴我,但我會創建一個絕對定位的div,並將其中的所有內容都放入其中。如果你有幾個元素放在同一個地方,把它們放在同一個類的div中。這樣,內容可以相互推動。 – FakeRainBrigand

+2

你可以用你的代碼的相關部分開始一個jsfiddle嗎? – jantimon

+0

@jantimon當然,在這裏:http://jsfiddle.net/n4dk7/2/ –

回答

1

我看到你找到了解決辦法。如果你需要一些更多的想法,這裏是一個搗鼓你看:接下來的

之外,以前的

var mainDiv = $('#variable-div'); 
var currentFieldset = $('fieldset'); 
mainDiv.css('marginBottom', (currentFieldset.height() + 5) + 'px'); 

內的下一個

next_fs = $(this).parent().next(); 
mainDiv.css('marginBottom', (next_fs.height() + 5) + 'px'); 

jsfiddle.net/pertrai1/ydjm2/1/

+0

不錯,謝謝! –

+0

不客氣。希望它對你有所幫助 – pertrai1

相關問題