web前端|js教程
textarea,高度,自适应
web前端-js教程
直接上代码:
方案一:
微信平台考试系统源码下载,嵌入式软件vscode,ubuntu执行exe,tomcat中php文件,网站无法爬虫,php ftp 下载文件,常用的seo查询工具广告,网站可视化编辑,生物科技 网站模板lzw
源码gps 开关,vscode如何返回,乐视机顶盒安装ubuntu教程,访问tomcat很慢,sqlite重要数据加密,视频打字特效插件,前端框架百度云,浙江大学爬虫ppt,php 获取 年月,seo大连优化,phpweb如何将网站的关键词密度做上去,个人主页静态网页,财务课程网站模板下载lzw
textarea { height:100px; width: 300px; }
晴枫制作
// 最小高度 var minHeight = 100; // 最大高度,超过则出现滚动条 var maxHeight = 300; function ResizeTextarea(){ var t = document.getElementById(‘txtContent’); h = t.scrollHeight; h = h > minHeight ? h : minHeight; h = h > maxHeight ? maxHeight : h; t.style.height = h + “px”; }
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]方案一在各浏览器中,文本框随内容自适应增长都没有问题;但在删除内容时收缩方面表现有所差异,IE、Opera表现正常,Firefox、Chrome、Safari不会收缩。原因是文本框内容高度小于文本框高度时scrollHeight值等于文本框高度,而不是文本框内容高度。
方案二:
整站脱拖源码,vscode 怎么配置qt,ubuntu进gnome,tomcat运行报异常,sqlite3数据库修复,全网爬虫是通用爬虫吗,mac php编译安装,佛山短视频seo优化,网站图片弹窗代码大全,网页模板小偷18lzw
Textarea高度随内容自适应地增长,无滚动条
晴枫制作
// 最小高度
var minRows = 5;
// 最大高度,超过则出现滚动条
var maxRows = 12;
function ResizeTextarea(){
var t = document.getElementById( xtContent);
if (t.scrollTop == 0) t.scrollTop=1;
while (t.scrollTop == 0){
if (t.rows > minRows)
t.rows--;
else
break;
t.scrollTop = 1;
if (t.rows < maxRows)
t.style.overflowY = "hidden";
if (t.scrollTop > 0){
t.rows++;
break;
}
}
while(t.scrollTop > 0){
if (t.rows < maxRows){
t.rows++;
if (t.scrollTop == 0) t.scrollTop=1;
}
else{
t.style.overflowY = "auto";
break;
}
}
}
方案二在各浏览器中表现相同,皆可使文本框随内容自适应增长和收缩。但有个缺憾是在文本框高度增长的时候,文本框显示会有一个跳动。
另以上两个方案对于通过文本框右键菜单选择剪切、粘贴、删除等命令操作文本内容的情形都无效。可以说暂未找到完美的解决方案,留待以后再来研究。哪位同学如果有完美的方案的话敬请赐教!
其他方案:
A different approach to elastic textareas 方案二即参考此文后实现
Build an Elastic Textarea with Ext JS
Smart TextArea: scrollHeight in IE, Firefox, Opera and Safari
原文链接:/javascript-textarea-auto-grow.html
如果觉得《Javascript 文本框textarea高度随内容自适应增长收缩_表单特效》对你有帮助,请点赞、收藏,并留下你的观点哦!