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


Posted in Javascript onMarch 09, 2016

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

<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程序设计有所帮助。

Javascript 相关文章推荐
Dom加载让图片加载完再执行的脚本代码
May 15 Javascript
input按钮的事件处理大全
Dec 10 Javascript
js 中将多个逗号替换为一个逗号的代码
Jun 07 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
Dec 29 Javascript
jquery实现隐藏在左侧的弹性弹出菜单效果
Sep 18 Javascript
JavaScript实现点击按钮就复制当前网址
Dec 14 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
Nov 21 Javascript
最常用的jQuery表单验证(简单)
May 23 jQuery
react 创建单例组件的方法
Apr 26 Javascript
vue和webpack项目构建过程常用的npm命令详解
Jun 15 Javascript
刷新页面后让控制台的js代码继续执行
Sep 20 Javascript
VUE 单页面使用 echart 窗口变化时的用法
Jul 30 Javascript
分享12个实用的jQuery代码片段
Mar 09 #Javascript
详解JavaScript正则表达式之分组匹配及反向引用
Mar 09 #Javascript
javascript html5移动端轻松实现文件上传
Mar 27 #Javascript
javascript事件绑定学习要点
Mar 09 #Javascript
js实现分割上传大文件
Mar 09 #Javascript
js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
Mar 09 #Javascript
基于jQuery的网页影音播放器jPlayer的基本使用教程
Mar 08 #Javascript
You might like
Views rows style模板重写代码
2011/05/16 PHP
一个简单的网页密码登陆php代码
2012/07/17 PHP
Yii2.0预定义的别名功能小结
2016/07/04 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
前淘宝前端开发工程师阿当的PPT中有JS技术理念问题
2010/01/15 Javascript
javascript new fun的执行过程
2010/08/05 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
node.js中watch机制详解
2014/11/17 Javascript
JavaScript随机生成信用卡卡号的方法
2015/04/07 Javascript
WordPress中利用AJAX技术进行评论提交的实现示例
2016/01/12 Javascript
JS代码实现根据时间变换页面背景效果
2016/06/16 Javascript
vue2.0数据双向绑定与表单bootstrap+vue组件
2017/02/27 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
2017/11/14 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
微信小程序switch开关选择器使用详解
2018/01/31 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
JSON生成Form表单的方法示例
2018/11/21 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
element中table高度自适应的实现
2020/10/21 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
Python动态赋值的陷阱知识点总结
2019/03/17 Python
Python 窗体(tkinter)按钮 位置实例
2019/06/13 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
python爬虫分布式获取数据的实例方法
2020/11/26 Python
html5定位并在百度地图上显示的示例
2014/04/27 HTML / CSS
计算机工程学院个人求职信
2013/10/05 职场文书
优秀毕业生求职信范文
2014/01/02 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
党建示范点实施方案
2014/03/12 职场文书
开学典礼演讲稿
2014/05/23 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
2015中秋祝酒词
2015/08/12 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书