首頁 >web前端 >css教學 >如何僅使用 JavaScript 來調整 HTML 元素的大小?

如何僅使用 JavaScript 來調整 HTML 元素的大小?

Patricia Arquette
Patricia Arquette原創
2024-12-07 15:30:15412瀏覽

How Can I Make HTML Elements Resizable Using Only JavaScript?

使用純JavaScript 自訂HTML 元素大小調整

通常,Web 開發人員需要為HTML 元素提供可調整大小的介面,而不依賴第三方圖書館。本文探討如何使用純 JavaScript 來實現此功能。

要讓 HTML 元素可調整大小,我們可以附加事件偵聽器來監視滑鼠輸入並相應地調整元素的大小。以下是完成此操作的程式碼:

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(window.getComputedStyle(p).width);
  startHeight = parseInt(window.getComputedStyle(p).height);
  document.addEventListener('mousemove', doDrag, false);
  document.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.removeEventListener('mousemove', doDrag, false);
  document.removeEventListener('mouseup', stopDrag, false);
}

用法:

只需將此程式碼套用至所需的 HTML元素,例如段落(

):

<p>Resizable Text</p>

示範:

[示範連結]

注意:

請記住,此解決方案可能存在跨瀏覽器的兼容性問題;它已經過測試並且可以在 Firefox 中運行,但不能在版本 9 以下的 IE 中運行。

以上是如何僅使用 JavaScript 來調整 HTML 元素的大小?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn