【发布时间】:2014-11-16 04:59:38
【问题描述】:
我有 2 个这样的 div。红色一个和黑色一个 我想将内部 div 移动到外部,这样在移动结束时,内部 div 的最右侧应该到达外部 div 的最右边。 为此,我向内部 div 添加了一个“左”样式属性,并开始将其从 0 减少。 但问题是我没有得到两个 div 的左侧和宽度之间的任何关系,以知道何时停止移动。内部 div 的宽度随时间变化而不是恒定值。在什么 'px' 我应该停止这个。
这是我的标记
<div id="divMenuContainer" style="height:18px;min-width:210px;overflow:hidden;">
<div id="divMenuContainerInner" style="position:relative;overflow:hidden;">
<ul id="ulMenuItems">
<li ><a href="#" id="lnkInfo" onclick="ChangeTab(this)">Info</a></li>
<li ><a href="#" id="lnkUsers" onclick="ChangePopupTab(this)">Users</a></li>
</ul>
</div>
</div>
divMenuContainer 是外部 div,divMenuContainerInner 是我需要移动的内部 div。此外,<li/> 可以是任何数字,所以在脚本中我计算所有的完整宽度并将其指定为内部 div 的宽度。表示内部 div 的宽度不同。
var len =0;
$("#ulMenuItems").children("li").each(function (index, element) {
len = len + parseInt($(element).css("width"), 10);
});
console.log(len);
$("#divMenuContainerInner").css({ "width": len });
请通过这个 jsfiddle http://jsfiddle.net/80x5ujyw/1/
我在此处提供的答案的帮助下找到了答案。我对此做了一个 jsfiddle
http://jsfiddle.net/q4u37yqe/1/
修改了上面的小提琴,现在提供了两个按钮来手动移动内部 div http://jsfiddle.net/sqofk4pe/1/
【问题讨论】:
-
如果您提供代码,我们可能会帮助您,也许是 jsfiddle?
-
你试过从
left: 0; right: auto切换到left: auto; right: 0吗? -
@Flopet 我还没有编写脚本来执行此操作。而是尝试在 mozilla firefox 中使用 firebug 来解决问题。
-
我认为this question 中前 2 个答案的混合可能是您所追求的,但没有顶部动画