Maison >interface Web >tutoriel CSS >Comment puis-je rendre les éléments HTML redimensionnables en utilisant uniquement JavaScript Vanilla ?
Création d'éléments HTML redimensionnables à l'aide de Vanilla JavaScript
La tâche de créer des éléments HTML, tels que
Les balises, redimensionnables lorsque vous cliquez dessus peuvent être obtenues sans recourir à des bibliothèques externes comme jQuery. Voici comment y parvenir en utilisant du JavaScript pur :
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); }
Ce code ajoute une classe « redimensionnable » à l'élément cible et ajoute un
Gardez à l'esprit que cette solution peut ne pas être compatible avec tous les navigateurs. Pour une implémentation plus robuste, pensez à utiliser une bibliothèque JavaScript dédiée au redimensionnement des éléments.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!