Wenn mir jemand helfen könnte herauszufinden, wie man die ziehbaren Elemente in einem div, das die Skalierung basierend auf der Fenstergröße ändert, erstellt, würde ich jede Anleitung sehr schätzen.jquery ziehbare containment array-Werte für skalierten Container
Wenn ich tun:
element.draggable({
cursor: "move",
containment: '#container'
});
Was passiert, ist es mir die Eindämmung für die regelmäßige Größe des Behälters gibt. Also, wenn ich eine transform: scale(1.5)
habe, wird Platz im Container sein, den das ziehbare Element nicht gehen kann.
Ich habe auch versucht containment: 'parent'
, aber das ist sehr glitchy.
EDIT
Ich habe, wie herausgefunden, die obere und linke Eindämmung zu bekommen, aber ich kann nicht herausfinden, wie die rechts und unten zu bekommen.
var containmentArea = $("#container");
containment: [containmentArea.offset().left, containmentArea.offset().top, ???, ???]
Ich habe versucht, Breite und Höhe von containmentArea[0].getBoundingClientRect()
aber das scheint nicht die richtige Bewegung zu sein.
Here is a jsfiddle of some example code.
Nicht an der dragFix Funktion im Detail betrachtet hat (möglicherweise die Werte dort anstelle der Verwendung von Rückhaltezurückhalten können), die Grenzen selbst scheinen zu funktionieren, wenn ich es getestet habe, aber die gezogenen Elementdimensionen müssen subtrahiert werden: 'var bounds = container.getBoundingClientRect(); var dragrect = $ ('. Draggable') [0] .getBoundingClientRect() .... containment: [bounds.x, bounds.y, bounds.right - dragrect.width, bounds.bottom - dragrect.height] ' (fiddle: http://jsfiddle.net/z0gqy9w2/4/) –
@ Me.Name Hmm, die rechte und untere scheinen zu funktionieren, aber jetzt oben und links nicht. Das Bearbeiten des Dragfix könnte eine mögliche Lösung sein. Guter Gedanke. – bryan
Hoppla, benutze x und y statt links und rechts, x und y arbeiten im firefox, also hatten dort keine Probleme. Das funktioniert auch in Chrome (habe ich nicht getestet): containment: [bounds.left, bounds.top, bounds.right - dragrect.width, bounds.bottom - dragrect.height] '(http: // jsfiddle. net/z0gqy9w2/5 /) (Immer noch, die Arbeit in dragfix fühlt sich generischer an, könnte später einen Blick darauf werfen) –