类似163邮箱里面的这个效果如何实现?
在163邮箱发信的时候,我点右边通讯录里面的名单,收件人这个输入框的内容会自己增加,并且超过长度之后高度会自适应,
请问这个效果如何实现,?
"输入框的宽度固定,高度随内容的增减而改变,谁有类似的效果啊,"
请高手解决..

解决方案 »

  1.   

    得到通讯录里面的名单字符的长度,再改变输入框的width属性,再填值,个人认为。
      

  2.   

    因为那个输入框本身就是高度自适应的啊
    里面的邮箱地址条,是float:left的,所以如果放不下的话,自动就换行了么。
      

  3.   

    请高手出来说话,我一直在搞,发现它的输入框只可以显示两个字符,然后超过之后就赋值到一个DIV中,然后输入框又向后移动。。哎,太高深了,还希望高手来解决。。
      

  4.   

    他的输入框是个排在后面的一个input,input的宽度是100%,这个input外面包着一个DIV,这个DIV的宽度是被JS动态改变的,敲入一个英文字符,DIV宽度增加8,中文字符增加12
      

  5.   

    用谷歌浏览器审查元素
    看起来像文本框的东西实际上是一个div,里面有个input,这个input是无边框的。每输入一个地址回车或者onblur都会在input之前创建一个div里面是地址,加上些别的效果。再输入一个就再加一个div,同时在第一个div和第二个中间加一个input,同样无边框,长度很短。input为空的时候如果按backspace就会把前面的div删掉,同时删掉自己,再跟右边通讯录联系起来加很多很多js就成了
      

  6.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <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>
      

  7.   

    你把那个页面下崽下来,然后将页面的连接改成绝对连接将css拿下,代码就有了。以前我经常这么干。
      

  8.   

    仔细去看下源代码
    那个并不是输入框
    只是一个DIV在加上脚本模拟的输入框