In diesem Artikel wird der spezifische Code von Vue zur Realisierung der verschiebbaren Höhe von Div zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt Hier ist eine fertige Demo, die die Ziehfunktion des Seiten-Divs realisieren kann, aber der Effekt ist nicht ganz der gleiche wie ich ihn haben möchte, also habe ich ihn noch einmal entsprechend meinen tatsächlichen Anforderungen modifiziert. Schauen wir uns zuerst den aktuellen Demo-Effekt an. <Vorlage> <div id="eagleMapContainer" style="border: 1px durchgezogenes Rot;overflow-y: auto;" title=""> <div id="tz" @mousedown="dragEagle" style="border: 1px solid blue;"> <div title="Ziehen, um die Größe zu ändern" id="move_tz" style="border: 1px solid green;"></div> </div> </div> </Vorlage> <Skript> Standard exportieren { Name: "eagleMap", Daten() { zurückkehren {} }, Methoden: { dragEagle: Funktion (e) { var targetDiv = document.getElementById('eagleMapContainer'); //Breite und Höhe des Kartencontainers beim Klicken ermitteln: var ZielDivHeight = ZielDiv.OffsetHeight; var startX = e.clientX; var startY = e.clientY; var _this = dies; document.onmousemove = Funktion (e) { e.preventDefault(); //Breite und Höhe des Mauszeigers ermitteln: den absoluten Wert nehmen var distX = Math.abs(e.clientX - startX); var distY = Math.abs(e.clientY - startY); //Nach oben ziehen: wenn (e.clientY < startY) { targetDiv.style.height = targetDivHeight + distY + 'px'; } //Nach unten ziehen: wenn (e.clientX < startX && e.clientY > startY) { targetDiv.style.height = (targetDivHeight - distY) + 'px'; } wenn (parseInt(targetDiv.style.height) >= 300) { ZielDiv.Stil.Höhe = 300 + "px"; } wenn (parseInt(targetDiv.style.height) <= 150) { ZielDiv.Stil.Höhe = 150 + 'px'; } } dokument.onmouseup = Funktion () { Dokument.onmousemove = null; } } }, }; </Skript> <Stilbereich> #eagleMapContainer { Position: absolut; links: 13%; unten: 10px; Z-Index: 200; Überlauf: versteckt; Sichtbarkeit: sichtbar; Breite: 200px; Höhe: 200px; } #tz { Position: absolut; rechts: 1px; oben: 1px; Breite: 27px; Höhe: 20px; Cursor:ne-Größe ändern; Z-Index: 200001; Hintergrundbild: URL(""); } #tz:hover { Hintergrundfarbe: #666; } #move_tz { Position: absolut; rechts: 0px; oben: 0px; Breite: 27px; Höhe: 20px; Cursor:ne-Größe ändern; Z-Index: 100; Hintergrundbild: URL(""); Hintergrundposition: 0px 0px; } </Stil> Der Effekt war aber nicht ganz so wie ich ihn wollte und ich musste ihn ein wenig modifizieren. Der gewünschte Effekt ist: Ich habe ein Div, das viele kleine quadratische Listen enthält. Da das Scrollen über das Limit hinaus eingestellt ist, füge ich dem Div mit der Bildlaufleiste ein Ziehen hinzu, um eine Höhenänderung zu erreichen. Der nächste Schritt besteht darin, die obige Demo umzuwandeln. Um es einfach zu machen, gehen Sie einfach zum Code: Fügen Sie unterhalb des Divs, das nach oben gezogen werden muss, ein Div hinzu und klicken Sie auf dieses Div, um die Ziehfunktion zu starten. <!-- Kleines Kästchen per Drag & Drop ziehen --> <div id="tz" @mousedown="dragEagle"> <div title="Ziehen, um die Größe zu ändern" id="move_tz"></div> </div> Sie müssen eine ID für das Div festlegen, das seine Höhe je nach Ziehen ändert (vorausgesetzt, es handelt sich um „fuDiv“), und dann eine Methode schreiben. // ziehenEagle(e) { var targetDiv = document.getElementById('fuDiv'); //Breite und Höhe des Kartencontainers beim Klicken ermitteln: var ZielDivHeight = ZielDiv.OffsetHeight; var startX = e.clientX; var startY = e.clientY; var _this = dies; document.onmousemove = Funktion (e) { e.preventDefault(); //Breite und Höhe des Mauszeigers ermitteln: den absoluten Wert nehmen var distY = Math.abs(e.clientY - startY); //Nach oben ziehen: wenn (e.clientY < startY) { targetDiv.style.height = targetDivHeight - distY + 'px'; } //Nach unten ziehen: wenn (e.clientX < startX && e.clientY > startY) { targetDiv.style.height = (targetDivHeight + distY) + 'px'; } wenn (parseInt(targetDiv.style.height) >= 320) { ZielDiv.Stil.Höhe = 320 + 'px'; } wenn (parseInt(targetDiv.style.height) <= 160) { ZielDiv.Stil.Höhe = 160 + "px"; } } dokument.onmouseup = Funktion () { Dokument.onmousemove = null; } }, Legen Sie dann den CSS-Stil für sie fest. Tatsächlich ist dieser Teil unkompliziert und kann nach Ihren eigenen Wünschen gestaltet werden. #tz { Breite: 100 %; Höhe: 5px; Cursor: s-Größe ändern; Z-Index: 200001; } #move_tz { Breite: 100 %; Höhe: 5px; Cursor: s-Größe ändern; Z-Index: 100; Hintergrundbild: URL(""); Hintergrundposition: 0px 0px; } Endergebnis: Die Wirkung ist nicht besonders gut und es gibt noch viele Bereiche, die einer Optimierung bedürfen, über die ich jetzt aber nicht schreibe. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
>>: Erklärung des HTML-Codes der Webseite: geordnete Liste und ungeordnete Liste
Als ich heute VMware verwendete, um eine neue vir...
mysql kopiert die Dateien im Datenverzeichnis, um...
Es gibt zwei Möglichkeiten, schreibgeschützte Eing...
In diesem Artikel wird der spezifische Code von V...
Ubuntu ist ein kostenloses und quelloffenes Deskt...
In letzter Zeit besteht der Bedarf, automatisch n...
Ziehen Sie einfach das Image, erstellen Sie einen...
IIS7 Laden Sie das HTTP Rewrite-Modul von der off...
Teil 3: ❤Drei Möglichkeiten, den Backend-Datenemp...
Die Fremdschlüsseleinschränkung von MySQL dient z...
Anwendungsbeispiel-Website http://www.uhuigou.net ...
Dieser Artikel erläutert anhand von Beispielen di...
Für Frontend-Entwickler ist es eine zeitaufwändig...
Verwenden Sie CSS, um den Stil der Bildlaufleiste...
Als ich kürzlich kazam in Ubuntu 20.04 zur Aufzei...