Ich erstelle ein Organigramm mit Tausenden von Knoten, habe aber hier ein Beispielbeispiel erstellt,
Wie Sie sehen können, funktioniert das Zoomen und Schwenken, aber ich möchte es hier wie hier funktionieren lassen,
Um genau zu sein
Ich versuche meine Geige zu machen,
Ich habe Mühe herauszufinden, wo ich anfangen soll, sollte ich weiter in die CSS-Transformation schauen oder stattdessen d3.js verwenden und alles von Grund auf neu erstellen.
Link to library
- Ссылка
Das folgende Code-Snippet erfüllt die drei in Ihrer Frage angegebenen Anforderungen:
Die Transformationsmatrix und die Mausposition, die im Ereignishandler mousemove
beobachtet wurden, werden in Modulvariablen gespeichert und später im Ereignishandler wheel
verwendet.
In meinen Tests wurde das Ereignis wheel
immer ausgelöst, nachdem die Skalierung von OrgChart verarbeitet wurde. Wenn diese Verarbeitungsreihenfolge in Ihrem Fall nicht identisch oder nicht stabil ist, können Sie den Code des wheel
-Ereignishandlers in ein setTimeout(fn, 0)
-Konstrukt einfügen, um sicherzustellen, dass die Skalierung bereits von OrgChart durchgeführt wurde:
Tags und Links javascript jquery css