论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Javascript教程
Tag:验证,特效,入门,实例,验证,表单,特效,正则表达式,跑马灯,document,函数,代码,getElementByID,菜单,图片,视频教程

火狐下textarea高度自适应解决方案

文章类别:Javascript | 发表日期:2010-3-25 15:37:27

火狐下textarea高度自适应解决方案

21视频教程网3月25日整理

在网上找了段代码'textarea.style.posHeight=this.scrollHeight '  这个使用在IE下可以;
但是发现在火狐里高度不能自适应,当文本增加的时候,高度是可以增加;可是当文本减少的时候,高度不会变!!
唉 有没有高人解决了这个问题!


终于在网上找到了一个例子,目前测试了都是可以的!激动啊,学习!
把代码贴上了,给大家分享下!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> New Document </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
  <style type="text/css">
    #info {
          font-size: 12px;
          overflow:hidden;
          background-color: #FFFFEA;
                border:1px solid #CCCCCC;
          color: black;
          padding-right:5px;
          padding-left:5px;
          font-family: courier;
          width:100%;
          letter-spacing:0;
          line-height:12px;
         
                
        }
  </style>
</HEAD>

<BODY>

      <div id="sdf" style="width:400px;">
      <textarea id="info" onBlur="saveInfo()" onMouseOut="saveInfo()" onKeyUp="setRows()"></textarea>
      </div>
          <script language="JavaScript">
        function saveInfo() {
          var text = document.getElementById("info").value;
          //再用ajax向数据库中更新当前修改内容
        }
        function setCols() {
          var textarea = document.getElementById("info");
          textarea.setAttribute("cols", Math.floor(textarea.clientWidth / 7));
          setRows();
        }
        function setRows() {
          var textarea = document.getElementById("info");
          var cols = textarea.cols;
          var str = textarea.value;
          str = str.replace(/\r\n?/, "\n");
          var lines = 2;
          var chars = 0;
          for (i = 0; i < str.length; i++) {
            var c = str.charAt(i);
            chars++;
            if (c == "\n" || chars == cols) {
              lines ++;
              chars = 0;
            }
          }
          textarea.setAttribute("rows", lines);
          textarea.style.height = lines*12 + "px";
        }
        function setDefault(){
            var textarea=document.getElementById("info");
            textarea.value="";
        }
        setDefault();
        setCols();
      </script>
</BODY>
</HTML>

JavaScript教程/编

视频教程列表
文章教程搜索
 
Javascript推荐教程
Javascript热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058