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和Ajax中文乱码吐血版解决方案
Dec 21 Javascript
一些相见恨晚的 JavaScript 技巧
Apr 25 Javascript
Pro JavaScript Techniques学习笔记
Dec 28 Javascript
JS按位非(~)运算符与~~运算符的理解分析
Jul 31 Javascript
JS+CSS实现仿msn风格选项卡效果代码
Oct 22 Javascript
基于canvas实现的绚丽圆圈效果完整实例
Jan 26 Javascript
jQuery的Read()方法代替原生JS详解
Nov 08 Javascript
JS实现旋转木马式图片轮播效果
Jan 18 Javascript
Javascript中for循环语句的几种写法总结对比
Jan 23 Javascript
详解vue与后端数据交互(ajax):vue-resource
Mar 16 Javascript
微信小程序日期时间选择器使用方法
Feb 01 Javascript
axios实现文件上传并获取进度
Mar 25 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
MySQL修改密码方法总结
2008/03/25 PHP
php 结果集的分页实现代码
2009/03/10 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
js 省地市级联选择
2010/02/07 Javascript
理解Javascript_13_执行模型详解
2010/10/20 Javascript
读jQuery之九 一些瑕疵说明
2011/06/21 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
Nodejs学习笔记之Global Objects全局对象
2015/01/13 NodeJs
jQuery操作表单常用控件方法小结
2015/03/23 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
AngularJS内建服务$location及其功能详解
2016/07/01 Javascript
浅析Javascript ES6新增值比较函数Object.is
2016/08/24 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
Vue快速实现通用表单验证的方法
2020/02/24 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
Python 时间处理datetime实例
2008/09/06 Python
TensorFlow实现MLP多层感知机模型
2018/03/09 Python
Django接收自定义http header过程详解
2019/08/23 Python
Python英文文章词频统计(14份剑桥真题词频统计)
2019/10/13 Python
python 并发下载器实现方法示例
2019/11/22 Python
python Canny边缘检测算法的实现
2020/04/24 Python
HTML5 input元素类型:email及url介绍
2013/08/13 HTML / CSS
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
大四学生毕业自荐信
2013/11/07 职场文书
中学生在校期间的自我评价分享
2013/11/13 职场文书
岗位职责的构建方法
2014/02/01 职场文书
春节联欢会主持词
2014/03/24 职场文书
尊师重教演讲稿
2014/09/04 职场文书
一百条裙子读书笔记
2015/07/01 职场文书
高三物理教学反思
2016/02/20 职场文书