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 相关文章推荐
JavaScript中的稀疏数组与密集数组[译]
Sep 17 Javascript
JS 实现点击a标签的时候让其背景更换
Oct 15 Javascript
一个简单的jquery进度条示例
Apr 28 Javascript
22点关于jquery性能优化的建议
May 28 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
May 25 Javascript
JS组件Bootstrap Table使用实例分享
May 30 Javascript
AngularJS实现网站换肤实例
Feb 19 Javascript
微信小程序 地图map详解及简单实例
Jan 10 Javascript
vue中接口域名配置为全局变量的实现方法
Sep 20 Javascript
ajaxfileupload.js实现上传文件功能
Apr 19 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
Dec 20 jQuery
javascript单张多张图无缝滚动实例代码
May 10 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
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
PHP 实用代码收集
2010/01/22 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
php获取字符串中各个字符出现次数的方法
2015/02/23 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
JavaScript数组随机排列实现随机洗牌功能
2015/03/19 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
2015/08/21 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
vue的基本用法与常见指令
2017/08/15 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
2017/08/23 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
es6函数之严格模式用法实例分析
2020/03/17 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
python中将函数赋值给变量时需要注意的一些问题
2017/08/18 Python
Python中数组,列表:冒号的灵活用法介绍(np数组,列表倒序)
2018/04/18 Python
详解python while 函数及while和for的区别
2018/09/07 Python
python按照多个条件排序的方法
2019/02/08 Python
python 实现dict转json并保存文件
2019/12/05 Python
用Python进行websocket接口测试
2020/10/16 Python
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
国际商务专业职业生涯规划书范文
2014/01/17 职场文书
本科生就业推荐信
2014/05/19 职场文书
赞美老师的演讲稿
2014/05/22 职场文书
国防教育标语
2014/10/08 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
《钢铁是怎样炼成的》高中读后感
2019/08/07 职场文书
python爬取网页版QQ空间,生成各类图表
2021/06/02 Python
pd.DataFrame中的几种索引变换的实现
2022/06/16 Python