首页 > 编程 > JavaScript > 正文

jquery实现文本框textarea自适应高度

2019-11-20 10:25:38
字体:
来源:转载
供稿:网友

浏览器中默认的文本框是不能根据内容的增多变高,只能固定高度有滚动条,体验不是很好,找了很多方法兼容都不行,总算找到个兼容良好的方法:

<body>    <textarea id="textarea3" style="overflow-y:hidden; height:20px;resize: none">         </textarea>    <script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>    <script type="text/javascript">      $(function() {        //最小高度和最大高度默认        $("#textarea1").textareaAutoHeight();        //最大高度为100px        $("#textarea2").textareaAutoHeight({maxHeight: 100});        //最小高度为50px,最大高度为200px        $("#textarea3").textareaAutoHeight({minHeight: 50, maxHeight: 200});      })        $.fn.extend({        textareaAutoHeight: function(options) {          this._options = {            minHeight: 0,            maxHeight: 1000          }           this.init = function() {            for (var p in options) {              this._options[p] = options[p];            }            if (this._options.minHeight == 0) {              this._options.minHeight = parseFloat($(this).height());            }            for (var p in this._options) {              if ($(this).attr(p) == null) {                $(this).attr(p, this._options[p]);              }            }            $(this).keyup(this.resetHeight).change(this.resetHeight)                .focus(this.resetHeight);          }          this.resetHeight = function() {            var _minHeight = parseFloat($(this).attr("minHeight"));            var _maxHeight = parseFloat($(this).attr("maxHeight"));             if (!$.browser.msie) {              $(this).height(0);            }            var h = parseFloat(this.scrollHeight);            h = h < _minHeight ? _minHeight :h > _maxHeight ? _maxHeight : h;            $(this).height(h).scrollTop(h);            if (h >= _maxHeight) {              $(this).css("overflow-y", "scroll");            }            else {              $(this).css("overflow-y", "hidden");            }          }          this.init();        }      });    </script>  </body>

以上就是本文的全部内容,希望对大家学习jquery程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表