当我的页面加载时,我在页面上找到div_left
的位置,并将其设置为div_right
的顶部,以便它们并排显示。这是我发现这样做的唯一方法,因为我的页面很复杂,有多种形式等等。找到/设置位置的代码是这样的:锁定元素相对于另一个元素的位置
function findPos() {
var curLeft = curTop = 0;
var obj = $("#div_left");
var position = obj.position();
curLeft = position.left;
curTop = position.top;
moveToPos(curLeft, curTop);
}
function moveToPos(newLeft, newTop) {
$("#div_right").css({
position: "absolute",
top: newTop + "px",
left: (newLeft + 550) + "px"
});
}
出现这些div以上定期改变大小,主要经由.toggle()
的元件。我发现当div_right
上面的元素是“扩展”或“收缩”时,它不会随页面元素的其余部分一起移动。有没有办法将“div_right
”附加到某个东西上,或使它成为某件事的孩子,以便我不必每次都以编程方式移动它?由于.toggle()
动画,这将是痛苦的。
编辑1
所以你可以看到,我不能包含div_left
和div_right
在更大的div,因为我通过form1
进行切削加工。据我所知,一张表格不能分开。
EDIT 2
基本HTML:
<form id="form1">
<table id="table1"></table>
<div id="div_left"></div>
</form>
<div id="div_right">
<form id="form2"></form>
</div>
是要并排他们需要所有的时间?如果是这样,那么你可以把它们放在同一个“行”或同一个div容器中。你可以发布一些HTML标记,以便我们更了解情况吗?如果你可以简化http://www.jsfiddle.net会更有帮助 – Huangism 2012-07-30 18:57:24
是的,我希望他们保持并排。我添加了一个简单的布局图像。将div_left和div_right放入div容器内会分割form1。 – 2012-07-30 19:10:16