如何使用 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 次浏览

启动您的 职业生涯

完成课程获得认证

开始
广告