jquery实现文本框textarea自适应高度
作者:bea
浏览器中默认的文本框是不能根据内容的增多变高,只能固定高度有滚动条,体验不是很好,找了很多方法兼容都不行,总算找到个兼容良好的方法: <body> <textarea id="textarea3" style="overflow-y:hidden; height:20px;resize: none"> </textarea> <script type="text/javascript" src="js
浏览器中默认的文本框是不能根据内容的增多变高,只能固定高度有滚动条,体验不是很好,找了很多方法兼容都不行,总算找到个兼容良好的方法:
<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程序设计有所帮助。
猜你喜欢
您可能感兴趣的文章:
- ES6中如何使用Set和WeakSet
- 解析javascript瀑布流原理实现图片滚动加载
- javascript实现可键盘控制的抽奖系统
- 基于javascript制作微信聊天面板
- 关于Bootstrap弹出框无法调用问题的解决办法
- TypeScript Type Innference(类型判断)
- JavaScript File分段上传
- ES6中非常实用的新特性介绍
- ES6的新特性概览
- JavaScript字符串常用的方法
- javascript中call apply 与 bind方法详解
- angularjs表格ng-table使用备忘录
- 详解AngularJS控制器的使用
- Nodejs如何复制文件
- JQuery Mobile实现导航栏和页脚
- javascript基本算法汇总
- javascript时间排序算法实现活动秒杀倒计时效果
- javascript获取wx.config内部字段解决微信分享
- js仿支付宝填写支付密码效果实现多方框输入密码