如果任何人都可以帮助我弄清楚如何让div中包含的可拖动元素根据窗口大小改变比例,我真的很感谢任何指导。jquery可伸缩容器的容量数组值
如果我做的:
element.draggable({
cursor: "move",
containment: '#container'
});
会发生什么事是它让我对容器的正常大小的遏制。所以如果我有一个transform: scale(1.5)
,容器中会有可拖动元素不能移动的空间。
我也试过containment: 'parent'
但那会非常糟糕。
编辑
我已经找到了如何让高层和左遏制,但我无法弄清楚如何获得右侧和底部。
var containmentArea = $("#container");
containment: [containmentArea.offset().left, containmentArea.offset().top, ???, ???]
我已经试过宽度和高度从containmentArea[0].getBoundingClientRect()
,但似乎并没有被正确的举措无论是。
Here is a jsfiddle of some example code.
不是在dragFix功能(可能的话,你可能会抑制值出现,而不是使用容器)已经看了详细的界限本身并出现我测试它时工作,但需要减去拖动的元素尺寸:'var bounds = container.getBoundingClientRect(); ()。dragback = $('。draggable')[0] .getBoundingClientRect().... containment:[bounds.x,bounds.y,bounds.right - dragrect.width,bounds.bottom - dragrect.height] (小提琴:http://jsfiddle.net/z0gqy9w2/4/) –
@ Me.Name嗯,右侧和底部似乎工作,但现在的顶部和左侧没有。编辑拖拽可能是一个可行的解决方案。好想法。 – bryan
哎呀,用x和y代替左右,x和y在firefox中工作,所以没有问题。这也适用于Chrome(也没有测试ie):'包含:[bounds.left,bounds.top,bounds.right - dragrect.width,bounds.bottom - dragrect.height]'(http:// jsfiddle。 net/z0gqy9w2/5 /)(但是,在dragfix中的工作感觉更通用,稍后可能需要查看) –