3 Stimmen

Container scrolling on draggable moved to left or top The translation is: Behälter scrollt auf verschiebbare nach links oder oben verschoben

Gibt es eine gute Möglichkeit, den Container-Div zu vergrößern, wenn ein verschiebbares Element über seine Grenzen gezogen wird?

Wenn Sie nach rechts oder unten ziehen, wird der Container-Div ordnungsgemäß erweitert und Scrollleisten erscheinen bei Bedarf. Wenn Sie jedoch nach links oder oben ziehen, bedeutet dies, dass das verschiebbare Element eine negative obere/linke Position hat, sodass der Container nicht erweitert wird.

Hier ist ein Beispiel, das das vorhandene Ziehverhalten zeigt: http://jsfiddle.net/NPC42/Un23w/1/, aber dies kann auch in den offiziellen jQueryUI-Demos gesehen werden (http://jqueryui.com/demos/draggable/#default).

Ich würde gerne in der Lage sein, auch nach oben/links zu erweitern :)

Ein brachialer Ansatz wäre:

  1. Setzen Sie alle Positionen des Objekts im Container-Div zurück, sodass keine negative obere/linke Position erforderlich ist (einschließlich des gezogenen Objekts).
  2. Ändern Sie die Bildlaufposition, um es so aussehen zu lassen, als ob sich die Objekte immer noch an ihren Positionen befinden.

Aber für viele Objekte im Container könnte dies zu viel Flackern oder sogar Verzögerungen führen, daher möchte ich nicht unbedingt in diese Richtung gehen. Alle Vorschläge sind willkommen!

1voto

Nal Punkte 2741

Das Problem ist, dass jedes HTML-Element einen absoluten Ursprungskoordinatenpunkt (0,0) in der oberen linken Ecke hat. Wenn Sie in diese Richtung ziehen, werden die Koordinaten für das Ziehbare negativ. Die Bildlaufleisten können jedoch nicht negativ werden, ihre Größe kann sich nur in eine positive Richtung vergrößern.

Ich kann mir vorstellen, dass ein benutzerdefiniertes Scrollbalken-Widget vorhanden ist, das sich in eine negative Richtung anpassen kann, wenn Sie unter (0,0) ziehen. Versuchen Sie auch, einen Container innerhalb eines anderen Containers zu haben, wobei der innere Container so bewegt wird, dass alle Objekte darin nicht individuell bewegt werden müssen. Mir ist keines bekannt, da es irgendwie seltsam wäre, einen negativen Bildlaufversatz zu haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X