类似163邮箱里面的这个效果如何实现?
在163邮箱发信的时候,我点右边通讯录里面的名单,收件人这个输入框的内容会自己增加,并且超过长度之后高度会自适应,
请问这个效果如何实现,?
"输入框的宽度固定,高度随内容的增减而改变,谁有类似的效果啊,"
请高手解决..
在163邮箱发信的时候,我点右边通讯录里面的名单,收件人这个输入框的内容会自己增加,并且超过长度之后高度会自适应,
请问这个效果如何实现,?
"输入框的宽度固定,高度随内容的增减而改变,谁有类似的效果啊,"
请高手解决..
里面的邮箱地址条,是float:left的,所以如果放不下的话,自动就换行了么。
看起来像文本框的东西实际上是一个div,里面有个input,这个input是无边框的。每输入一个地址回车或者onblur都会在input之前创建一个div里面是地址,加上些别的效果。再输入一个就再加一个div,同时在第一个div和第二个中间加一个input,同样无边框,长度很短。input为空的时候如果按backspace就会把前面的div删掉,同时删掉自己,再跟右边通讯录联系起来加很多很多js就成了
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript" type="text/javascript">
function Type(c,o,i){
this.oC=document.getElementById(c);
this.oO=document.getElementById(o);
this.oI=document.getElementById(i);
var _this=this;
_this.init=function(){
_this.oI.onblur=_this.blurs;
_this.oI.onkeydown=_this.keydown;
_this.oI.addEventListener("input",_this.change,false);
_this.oI.onpropertychange=_this.change;
_this.oC.onclick=function(){
_this.oI.focus();
}
_this.oI.focus();
}
_this.blurs=function(e){
var text=_this.oI.value;
if(text){
_this.create(text,'text');
alert("执行了一次blur操作");
}
}
_this.keydown = function(e){
var evt=e?e: (window.event ? window.event : null);
var key=evt.keyCode||evt.which;
if (key == 13 || key == 32) {
var text=_this.oI.value;
_this.create(text,'text');
}
}
_this.change=function(e){
var L=_this.oI.value.length;
var reg = /[^\u4E00-\u9FA5\uf900-\ufa2d]/g;
var temp = _this.oI.value.replace(reg,'');
var cL=temp.length;
var width=(13+8*L+4*cL);
_this.oO.style.width=width+"px";
}
_this.create=function(value,cName){
var oNode=document.createElement("div");
oNode.innerHTML=value;
oNode.className=cName;
_this.oC.insertBefore(oNode,_this.oO);
_this.oI.value="";
_this.oI.focus();
_this.oO.style.width="13px";
}
}
window.onload=function(){
var my=new Type("container","outer","inputbox");
my.init();
}
</script>
<style>
.text{
float:left;
padding:0px 3px;
}
input{
float:left;
}
</style>
</head>
<body>
<div style="width:400px;overflow:hidden; background:#FFF; border:1px solid #999; padding:5px; word-wrap: break-word; word-break: break-all; line-height:20px; font-size:14px; " id="container">
<div id="outer" style="width:13px; float:left;">
<input style="border:none; width:100%;" id="inputbox" value=""/>
</div></div>
</body>
</html>
那个并不是输入框
只是一个DIV在加上脚本模拟的输入框