0

こんにちは、フォーム内のファイルセットの後に div を絶対に配置したいのですが、フォームには別のコンテナー要素があり、フィールドの高さは固定されておらず、その中のコンテンツによって変化しています。jQueryで作ったのですがうまくいきません。ああ、その div には別のフォームが含まれているため、フォーム内に div を配置することはできません。

<script>
  $(function(){
  var heightOfform = document.getElementById("form").scrollHeight;
  var heightOffsomethingafter = document.getElementById("somethingafter").scrollHeight;
  document.getElementById("divtoposition").css('top', (heightOfform-heightOffsomethingafter)+'px');
  });
</script>
<style>
#all {position:relative;}
#divtoposition {position:absolute;}
</style>
<div id="all">
<div id="divtoposition"><form></form></div>
<div id="formcontainer">
  <form id="form">
    <fieldset id="afterthis"></fieldset>
    <div id="somethingafter"></div>
  </form>
</div>
</div>
4

1 に答える 1

0

I think there's a complicated answer but could you explain why the div you want to position has a form in it? What does it do? Can it be done another way? You can't put a form in a form so that's out. You can set the top of the DivToPosition to say 100px, then have jquery get the height of the fieldset. IF the fieldset is say 150px in height you can have Js add 150 to the 100 and now DivToPosition had a height of 250px;

 <script>
$(function(){
var divtopositionTop = 100,
fieldsetHeight = $('#afterthis').height();
   $('#divtoposition').css('top', divtopositionTop+fieldsetHeight+'px');
})
</script>

Just an example it can be done. Must be done on doc ready so the height is set. However this may cause a quick position change where the elem moves from 1 position to another as the style is applied.

于 2012-07-07T17:46:00.560 に答える