1

前のステップ (フィールドセット) を非表示にし、次のステップを で表示する JavaScript マルチステップ フォームがありますdisplay: none;。これは、正しい効果のために絶対配置する必要があります。

  • 問題は、それを完全に配置するとフローから外され、その下のコンテンツが押し下げられないことです。
  • 私が作成しようとしている解決策は、相対的に配置された親の div で絶対 div をラップし、JavaScript を使用して、絶対 div が表示されている方の高さに親の高さを設定することです。

誰でもJavaScriptで私を助けることができますか?

現在、次のボタンに次のようなものが必要であることはわかっています。document.getElementById('variable-div').style.height = divHeight; しかし、ID でフィールドセットを取得できないため、この最初の部分は間違っています。display:block を取得する必要があり、その方法がわかりません。

どんな助けでも大歓迎です!

編集: ここに (更新された) jsfiddle があります: http://jsfiddle.net/n4dk7/6/

編集 2: 解決策が見つかりました: var fieldsetHeight = $("fieldset").filter(':visible').height() + 'px'; $('#variable-div').height(fieldsetHeight);

4

1 に答える 1

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/

于 2013-07-14T12:22:34.320 に答える