Heim > Web-Frontend > CSS-Tutorial > Wie kann ich die Größe von HTML-Elementen nur mit Vanilla-JavaScript ändern?

Wie kann ich die Größe von HTML-Elementen nur mit Vanilla-JavaScript ändern?

Mary-Kate Olsen
Freigeben: 2024-12-08 07:51:15
Original
935 Leute haben es durchsucht

How Can I Make HTML Elements Resizable Using Only Vanilla JavaScript?

Anpassbare HTML-Elemente mit Vanilla-JavaScript erstellen

Die Aufgabe, HTML-Elemente wie

oder

Tags, deren Größe beim Klicken geändert werden kann, können erreicht werden, ohne auf externe Bibliotheken wie jQuery angewiesen zu sein. So können Sie dies mit reinem JavaScript erreichen:

var p = document.querySelector('p'); // element to make resizable

p.addEventListener('click', function init() {
    p.removeEventListener('click', init, false);
    p.className = p.className + ' resizable';
    var resizer = document.createElement('div');
    resizer.className = 'resizer';
    p.appendChild(resizer);
    resizer.addEventListener('mousedown', initDrag, false);
}, false);

var startX, startY, startWidth, startHeight;

function initDrag(e) {
   startX = e.clientX;
   startY = e.clientY;
   startWidth = parseInt(document.defaultView.getComputedStyle(p).width, 10);
   startHeight = parseInt(document.defaultView.getComputedStyle(p).height, 10);
   document.documentElement.addEventListener('mousemove', doDrag, false);
   document.documentElement.addEventListener('mouseup', stopDrag, false);
}

function doDrag(e) {
   p.style.width = (startWidth + e.clientX - startX) + 'px';
   p.style.height = (startHeight + e.clientY - startY) + 'px';
}

function stopDrag(e) {
    document.documentElement.removeEventListener('mousemove', doDrag, false);
    document.documentElement.removeEventListener('mouseup', stopDrag, false);
}
Nach dem Login kopieren

Dieser Code fügt dem Zielelement eine „Resizable“-Klasse hinzu und hängt ein zusätzliches

an. mit der Klasse 'resizer' zum Element. Wenn auf „Resizer“ geklickt wird, werden die Drag-and-Drop-Ereignisse der Maus erfasst, um die Breite und Höhe des Zielelements basierend auf den Mausbewegungen dynamisch anzupassen.

Beachten Sie, dass diese Lösung möglicherweise nicht mit kompatibel ist alle Browser. Erwägen Sie für eine robustere Implementierung die Verwendung einer JavaScript-Bibliothek speziell für die Größenänderung von Elementen.

Das obige ist der detaillierte Inhalt vonWie kann ich die Größe von HTML-Elementen nur mit Vanilla-JavaScript ändern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage