我的应用程序包含所有具有绝对css定位属性的div。由于可拖动需要相对定位,我需要使用margin-left覆盖它,并计算拖动的div的left值。如果未指定包容性,则可以正常工作。
我需要限制可拖动的div在容器内移动,但是左侧拖动不起作用。
示例代码:http://jsfiddle.net/2TpPS/ 我找不到问题所在。有人能给我提供一个解决方案吗?
<div id="main"><div id="draggable">Drag me</div></div>
$( "#draggable" ).draggable({
axis:"x",
containment: "#main",
stop: function( e, ui ) {
var el = $(this);
var newLeft = $(el).css("left");
var newmarginLeft = $(el).css("marginLeft");
var totalmarginShift = parseFloat(newLeft) + parseFloat(newmarginLeft);
el
.css("marginLeft", totalmarginShift)
.css("left", "")
.css("top", "")
.css("position", "absolute");
}
});
我需要限制可拖动的div在容器内移动,但是左侧拖动不起作用。
示例代码:http://jsfiddle.net/2TpPS/ 我找不到问题所在。有人能给我提供一个解决方案吗?
left
和margin
?如果元素已经被拖动,为什么在放置时还需要再次移动它? - Rory McCrossan