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 相关文章推荐
js中几种去掉字串左右空格的方法
Dec 25 Javascript
鼠标滑上去后图片放大浮出效果的js代码
May 28 Javascript
js中判断对象是否为空的三种实现方法
Dec 23 Javascript
ExtJS如何设置与获取radio控件的选取状态
Jan 22 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
Sep 11 Javascript
XML文件转化成NSData对象的方法
Aug 12 Javascript
JavaScript生成验证码并实现验证功能
Sep 24 Javascript
jQuery中delegate()方法的用法详解
Oct 13 Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
Oct 24 Javascript
Webpack中loader打包各种文件的方法实例
Sep 03 Javascript
vue 解决computed修改data数据的问题
Nov 06 Javascript
Vue基于localStorage存储信息代码实例
Nov 16 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
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
php设计模式 Interpreter(解释器模式)
2011/06/26 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
setInterval计时器不准的问题解决方法
2014/05/08 Javascript
非jQuery实现照片散落桌子上,单击放大的LightBox效果
2014/11/28 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
2015/09/02 Javascript
浅析nodejs实现Websocket的数据接收与发送
2015/11/19 NodeJs
JavaScript简单获取系统当前时间完整示例
2016/08/02 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
编写Python脚本把sqlAlchemy对象转换成dict的教程
2015/05/29 Python
Python使用dis模块把Python反编译为字节码的用法详解
2016/06/14 Python
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
Python2和Python3之间的str处理方式导致乱码的讲解
2019/01/03 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
python将unicode和str互相转化的实现
2020/05/11 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
意大利单身交友网站:Meetic
2020/07/12 全球购物
优秀护士获奖感言
2014/02/20 职场文书
竞选文艺委员演讲稿
2014/04/28 职场文书
建筑工地宣传标语
2014/06/18 职场文书
2015年母亲节活动总结
2015/02/10 职场文书
辞职信如何写
2015/02/27 职场文书
在pyCharm中下载第三方库的方法
2021/04/18 Python
Java使用jmeter进行压力测试
2021/07/09 Java/Android