爱易网
IT新闻
IT新闻
爱易资讯
网站搭建
云虚拟主机教程
云服务器教程
Apache教程
IIS教程
Nginx教程
网站策划
站长文章
推广教程
淘宝客教程
网页设计
HTML教程
XHTML教程
CSS教程
HTML5教程
CSS3教程
JavaSript基础
JQuery教程
Node.js教程
前端技术
Ajax教程
Js特效
Xml教程
平面设计
页面UI设计
photoshop教程
程序开发
AI人工智能
Asp教程
Php教程
Asp.Net教程
Net Core教程
C#教程
Java教程
Jsp教程
开发技术
微信小程序教程
Uniapp开发教程
微信公众号开发
Andriod教程
IOS教程
DOS教程
Python教程
Docker教程
Windows Container教程
数据库
MSSQL教程
MySQL教程
Redis教程
Access教程
Oracle教程
数据库教程
操作系统
Linux教程
Windows教程
MAC教程
Cisco教程
交换机教程
防火墙教程
搜索
爱易网页
JS特效
js制作的文本框根据输入内容自适应高度
js制作的文本框根据输入内容自适应高度
日期:2014-05-18 浏览次数:20303 次
以下是程序代码
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>文本框根据输入内容自适应高度</title> <style type="text/css"> #textarea { font: 1.4em/1.8em Arial; overflow: hidden; width: 550px; height: 6em; padding:10px; } </style> <script> /** * 文本框根据输入内容自适应高度 * @author tang bin * @version 0.2 * @see http://www.planeart.cn/?p=1489 * @param {HTMLElement} 输入框元素 * @param {Number} 设置光标与输入框保持的距离(默认20) * @param {Number} 设置最大高度(可选) */ var autoTextarea = function (elem, extra, maxHeight) { extra = extra || 20; var isFirefox = !!document.getBoxObjectFor || 'mozInnerScreenX' in window, isOpera = !!window.opera && !!window.opera.toString().indexOf('Opera'), addEvent = function (type, callback) { elem.addEventListener ? elem.addEventListener(type, callback, false) : elem.attachEvent('on' + type, callback); }, getStyle = elem.currentStyle ? function (name) { var val = elem.currentStyle[name]; if (name === 'height' && val.search(/px/i) !== 1) { var rect = elem.getBoundingClientRect(); return rect.bottom - rect.top - parseFloat(getStyle('paddingTop')) - parseFloat(getStyle('paddingBottom')) + 'px'; }; return val; } : function (name) { return getComputedStyle(elem, null)[name]; }, minHeight = parseFloat(getStyle('height')); elem.style.resize = 'none'; var change = function () { var scrollTop, height, padding = 0, style = elem.style; if (elem._length === elem.value.length) return; elem._length = elem.value.length; if (!isFirefox && !isOpera) { padding = parseInt(getStyle('paddingTop')) + parseInt(getStyle('paddingBottom')); }; scrollTop = document.body.scrollTop || document.documentElement.scrollTop; elem.style.height = minHeight + 'px'; if (elem.scrollHeight > minHeight) { if (maxHeight && elem.scrollHeight > maxHeight) { height = maxHeight - padding; style.overflowY = 'auto'; } else { height = elem.scrollHeight - padding; style.overflowY = 'hidden'; }; style.height = height + extra + 'px'; scrollTop += parseInt(style.height) - elem.currHeight; document.body.scrollTop = scrollTop; document.documentElement.scrollTop = scrollTop; elem.currHeight = parseInt(style.height); }; }; addEvent('propertychange
上一篇:狡猾的按钮特效
下一篇:点击提交按钮,文本框value值在1-3循环
免责声明:
本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
相关资料
更多>
做大电影,阿里控股公司在港成立影业集团
一个非脑残米粉的思考:小米“成功之道”如何炼成
网络旅行游记被曝插入"软广告" 个别人士月入数万
联发科享用价钱战 专利难以摆脱高通
刘强东:京东上市融资用于开拓三至六线城市
FB上广告费用昂贵而且效果不及Twitter
MIUI,有了它小米就无惧对手
诺基亚若没加入微软,只不过是另一个HTC而已
原万网CTO周雷加盟亿玛 出任CTO一职
推荐阅读
更多>
打车软件“明补变暗补”背后的小算盘
刘强东:京东上市融资用于开拓三至六线城市
微信企业号必须搬走四座大山,否则只能铩羽而归!
欧盟控诉苹果在爱尔兰非法进行税收交易
这一次,微软将带给我们什么惊喜?
十亿美元的告别礼:三星为何要大举重组?
黑莓高管:黑莓能作为家“小众公司”活下来
黑狐病毒疯传播 电脑管家首推 专杀工具
腾讯微信昨晚再现大规模故障 多地受到影响
中国移动4G资费调整方案6月1日起正式实施
神州泰岳雪上加霜:副总违规买卖遭罚
可靠消息称微型针孔偷拍设备拟全面禁止
团购网站存活率仅18.6% 剩余缺乏千家
地图导航骤起杀机 百度高德重新定义商业模式
快播灭了,还有西瓜:视频网站的灰色江湖还在
网络文学竞争白热化 百度多酷文学网上线
三大运营商合建铁塔公司真相:未涉及电信业重组
人们为什么总愿尝试新社交网络?
史玉柱谈创业:5大建议 失败的教训最真实
开个房刷个卡全世界都知道个人隐私成公开秘密