如果任何人都可以幫助我弄清楚如何讓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中的工作感覺更通用,稍後可能需要查看) –