如何使用 JavaScript 更改 textarea 的形狀?


Textarea 是一種具有動態寬度和高度的文字框,這意味著當在其中輸入文字時,文字不會溢位,只會包含在這個 textarea 中,因為它可以動態增加或減少其高度和寬度。Textarea 主要用於表單中,以獲取使用者的完整地址和其他一些較長的文字內容。

通常,Textarea 的形狀為方形或矩形,可以使用 JavaScript 和 CSS 來更改其形狀。在本文中,我們將學習使用 JavaScript 更改 textarea 形狀的方法。

要使用 JavaScript 更改 textarea 的形狀,我們可以使用不同的 CSS 屬性和不同的值來將 textarea 塑造成不同的結構。

將 textarea 更改為平行四邊形

要將 textarea 的形狀更改為平行四邊形,我們可以在 JavaScript 中使用 CSS 的 `style.transform` 屬性,其值為 `skew()`。

語法

下面的語法將幫助您理解如何使用上述方法更改 textarea 的形狀:

selected_textarea.style.transform = "skew(40deg)";

讓我們透過在程式碼示例中實際實現它來詳細瞭解它,看看它如何更改 textarea 的形狀。

演算法

  • **步驟 1** - 在第一步中,我們將一個 textarea 新增到 HTML 文件中,稍後我們將使用 JavaScript 更改其形狀。

  • **步驟 2** - 在這一步中,我們將新增一個按鈕元素,並將其與 onclick 事件關聯,稍後當按鈕被點選時,該事件將呼叫一個函式並更改 textarea 的形狀。

  • **步驟 3** - 在下一步中,我們將定義一個 JavaScript 函式,在這個函式中,我們將獲取 textarea 元素並使用上面編寫的語法將其形狀更改為平行四邊形。

  • **步驟 4** - 在最後一步中,我們將 JavaScript 函式賦值給按鈕的 onclick 事件,以便稍後當按鈕被點選時可以呼叫該函式。

示例

下面的示例將向您解釋使用 CSS 的 `transform` 屬性將 textarea 的形狀更改為平行四邊形的方法:

<html>
<body>
   <h2>Change the shape of a textarea</h2>
   <p id = "upper">The shape of below textarea will be changed once you click the button.</p>
   <textarea id = "textar">Enter something in the textarea.....</textarea> <br> <br>
   <button id = "btn" onclick = "changeShape()">Click to change the shape</button>
   <p id = "result"> </p>
   <script>
      var result = document.getElementById("result");
      var upper = document.getElementById("upper");
      function changeShape() {
         var textar = document.getElementById('textar');
         textar.style.transform = "skew(50deg)";
         upper.innerHTML = " The shape of the below textarea is changed as you clicked the button. ";
         result.innerHTML += " The shape of the textarea is changed to parallelogram using style.transform = 'skew(50deg)'";
      }
   </script>
</body>
</html>

在上面的示例中,我們使用了 `transform` 屬性和 `skew()` 值將 textarea 的形狀更改為平行四邊形。

將 textarea 形狀更改為橢圓形

要將 textarea 的形狀更改為橢圓形,我們可以在 JavaScript 中使用 CSS 的 `borderRadius` 屬性,其值為 50%。

語法

可以使用以下語法將 textarea 的形狀更改為橢圓形,使用 `borderRadius` 屬性:

selected_textarea.style.borderRadius = "50%";

讓我們看看此方法的實際實現以瞭解其工作原理。

演算法

此示例的演算法與前一個示例的演算法幾乎相同。您只需要進行一些小的更改,將前一個示例中的 `transform` 屬性替換為 `borderRadius` 屬性,並將其值設定為 `50%`,即可獲得橢圓形的 textarea。

示例

下面的示例將說明使用 `borderRadius` 將 textarea 的形狀更改為橢圓形:

<html>
<body>
   <h2>Change the shape of a textarea to an ellipse</h2>
   <p id = "upper">The shape of below textarea will be changed once you click the button.</p>
   <textarea id = "textar">Enter something in the textarea.....</textarea> <br> <br>
   <button id = "btn" onclick = "changeShape()">Click to change the shape</button>
   <p id = "result"> </p>
   <script>
      var result = document.getElementById("result");
      var upper = document.getElementById("upper");
      function changeShape() {
         var textar = document.getElementById('textar');
         textar.style.borderRadius = "50%";
         upper.innerHTML = " The shape of the below textarea is changed as you clicked the button. ";
         result.innerHTML += " The shape of the textarea is changed to ellipse using style.borderRadius = '50%'";
      }
   </script>
</body>
</html>

在上面的示例中,我們使用 JavaScript 和 `borderRadius` 屬性將 textarea 的形狀從矩形更改為橢圓形。

在本文中,我們詳細討論了兩種將 textarea 的形狀更改為兩種不同形狀的不同方法,併為每種方法提供了程式碼示例。使用 JavaScript 中的其他 CSS 屬性也可能將 textarea 的形狀更改為其他形狀,因此請繼續搜尋和學習。

更新於:2023年2月17日

332 次瀏覽

啟動您的 職業生涯

完成課程獲得認證

開始
廣告