类似163邮箱里面的这个效果如何实现?

pyangjie 2009-12-28 11:12:22
类似163邮箱里面的这个效果如何实现?
在163邮箱发信的时候,我点右边通讯录里面的名单,收件人这个输入框的内容会自己增加,并且超过长度之后高度会自适应,
请问这个效果如何实现,?
"输入框的宽度固定,高度随内容的增减而改变,谁有类似的效果啊,"
请高手解决..
...全文
264 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2009-12-30
  • 打赏
  • 举报
回复
仔细去看下源代码
那个并不是输入框
只是一个DIV在加上脚本模拟的输入框
pyangjie 2009-12-28
  • 打赏
  • 举报
回复
请高手出来说话,我一直在搞,发现它的输入框只可以显示两个字符,然后超过之后就赋值到一个DIV中,然后输入框又向后移动。。哎,太高深了,还希望高手来解决。。
startdream 2009-12-28
  • 打赏
  • 举报
回复
因为那个输入框本身就是高度自适应的啊
里面的邮箱地址条,是float:left的,所以如果放不下的话,自动就换行了么。
chinank 2009-12-28
  • 打赏
  • 举报
回复
你把那个页面下崽下来,然后将页面的连接改成绝对连接将css拿下,代码就有了。

以前我经常这么干。
千游 2009-12-28
  • 打赏
  • 举报
回复
得到通讯录里面的名单字符的长度,再改变输入框的width属性,再填值,个人认为。
startdream 2009-12-28
  • 打赏
  • 举报
回复
<!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>
pyangjie 2009-12-28
  • 打赏
  • 举报
回复
楼上说的增加的是这样,但是删除就好像不是了,具体怎么样我也没的搞明白,增加的功能我已经实现了,就是不知道如何删除和修改了,还希望高手出来解决下。。
dudp1985 2009-12-28
  • 打赏
  • 举报
回复
用谷歌浏览器审查元素
看起来像文本框的东西实际上是一个div,里面有个input,这个input是无边框的。每输入一个地址回车或者onblur都会在input之前创建一个div里面是地址,加上些别的效果。再输入一个就再加一个div,同时在第一个div和第二个中间加一个input,同样无边框,长度很短。input为空的时候如果按backspace就会把前面的div删掉,同时删掉自己,再跟右边通讯录联系起来加很多很多js就成了
yishiwucheng 2009-12-28
  • 打赏
  • 举报
回复
不太清楚,帮顶
startdream 2009-12-28
  • 打赏
  • 举报
回复
他的输入框是个排在后面的一个input,input的宽度是100%,这个input外面包着一个DIV,这个DIV的宽度是被JS动态改变的,敲入一个英文字符,DIV宽度增加8,中文字符增加12
zhangjf_self 2009-12-28
  • 打赏
  • 举报
回复
我也想知道
clsWindow是VB6环境下使用的一个操作外部程序窗口的类,比如得到窗口句柄,得到窗口里某个文本框的内容。非常方便,使用它可以让您脱身于一堆api函数,功能强大使用简单! 这个类楼主很早就开始封装了,原本打算做成类似DOM对象那样,通过一堆getElmentByXXX等方法实现对桌面程序下各个窗口以及里面各个控件对象的自由访问,但是具体要做的工作太多,目前只实现了一部分,期待大家一起加入更新维护。 目前该类封装了绝大部分对windows窗口的常用操作,例如:获取窗口句柄,设置窗口为活动窗口,设置窗口内文本框内容,点击窗口内的某些按钮等。 这个类现在还在一直不断地扩充,功能已经很强大很广泛,使用它可以轻而易举地设置窗口标题栏文字,移动窗体等等。以前要实现这些操作常常需要一大堆api函数,现在只需要一点点代码就可以了,完全让您脱身于api函数的海洋。当然需要您需要研究每个方法实现原理的话可以看一看源代码。 使用范例: 1)关闭腾讯新闻窗口“腾讯网迷你版”。 Dim window As New clsWindow If window.GetWindowHwndByTitle("腾讯网迷你版") > 0 Then window.CloseWindow '关闭窗口 End If 以上是不是很简洁呢? 2)获取某个打开的记事本里面的内容。假设记事本标题为“测试.txt - 记事本”,通过SPY等工具查看得知记事本的文本框类名为:Edit,那么我们编写程序如下: Dim window As New clsWindow If window.GetWindowHwndByTitle("测试.txt - 记事本") > 0 Then MsgBox window.GetElementTextByClassName("Edit") End If 这个看起来也很简单,方法自由还可以使用正则匹配,可以写成下面这样: Dim window As New clsWindow If window.GetWindowHwndByTitleRegExp("测试\.txt.*?") > 0 Then MsgBox window.GetElementTextByClassName("Edi", , True)'第三个参数表示是否使用正则,默认为false End If 更多演示案例: 演示程序一(关闭包含“扫雷、蜘蛛纸牌”等系统自带游戏的窗口): http://files.cnblogs.com/sysdzw/clsWindow1.7_demo1.rar 演示程序二(调用系统计算器,点击里面的按钮进行计算): http://files.cnblogs.com/sysdzw/clsWindow1.7_demo2.rar 演示程序三(激活移动外部程序窗口): http://files.cnblogs.com/sysdzw/clsWindow1.7_demo3.rar 演示程序四(调用系统计算器,花样移动出现,效果很好): http://files.cnblogs.com/sysdzw/clsWindow1.7_demo4.rar 类成员以及各个使用方法如下: clsWindow类下载地址: http://download.csdn.net/user/sysdzw clsWindow类最新版下载请关注博客: http://blog.csdn.net/sysdzw/article/details/9083313 '=================================================================================== '描 述:一个操作windows窗口的类,可对窗口进行很多常用的操作(类名为clsWindow) '使用范例:Dim window As New clsWindow ' window.GetWindowHwndByTitle "计算器" ' window.closeWindow '编 程:sysdzw 原创开发,如果有需要对模块扩充或更新的话请邮箱发我一份,共同维护 '发布日期:2013/06/01 '博 客:http://hi.baidu.com/sysdzw ' http://blog.csdn.net/sysdzw 'Email :sysdzw@163.com 'QQ :171977759 '版 本:V1.0 初版 2012/12/03 ' V1.1 修正了几个正则相关的函数,调整了部分类结构 2013/05/28 ' V1.2 增加属性Caption,可以获取或设置当前标题栏 2013/05/29 ' V1.3 增加了方法Focus,可以激活当前窗口 2013/06/01 ' 增加了方法Left,Top,Width,Height,Move,处理窗口位置等 ' V1.4 增加了窗口位置调整的几个函数 2013/06/04 ' 增加了得到应用程序路径的函数AppName ' 增加了得到应用程序启动参数的函数AppCommandLine ' V1.5 增加了窗口最大最小化,隐藏显示正常的几个函数 2013/06/06 ' 增加了获取控件相关函数是否使用正则的参数UseRegExp默认F ' V1.6 将Left,Top函数改为属性,可获得可设置 2013/06/10 ' V1.7 增加了CloseApp函数,可以结束进程 2013/06/13 ' 修正了部分跟正则匹配相关的函数 ' 增加函数:GetElementTextByText ' 增加函数:GetElementHwndByText '===================================================================================
楼主辛苦开发的源码,0分放送。亲们只要评价五分就是对我的努力付出的最大回报! 此版本比v1.7的多增加了几个函数和方法,同时也修正了一些bug。 vb封装的一个控制窗口操作的类,使用非常简单!时刻更新。 clsWindow是VB6环境下使用的一个操作外部程序窗口的类,比如得到窗口句柄,得到窗口里某个文本框的内容。非常方便,使用它可以让您脱身于一堆api函数,功能强大使用简单! 这个类楼主很早就开始封装了,原本打算做成类似DOM对象那样,通过一堆getElmentByXXX等方法实现对桌面程序下各个窗口以及里面各个控件对象的自由访问,但是具体要做的工作太多,目前只实现了一部分,期待大家一起加入更新维护。 目前该类封装了绝大部分对windows窗口的常用操作,例如:获取窗口句柄,设置窗口为活动窗口,设置窗口内文本框内容,点击窗口内的某些按钮等。 这个类现在还在一直不断地扩充,功能已经很强大很广泛,使用它可以轻而易举地设置窗口标题栏文字,移动窗体等等。以前要实现这些操作常常需要一大堆api函数,现在只需要一点点代码就可以了,完全让您脱身于api函数的海洋。当然需要您需要研究每个方法实现原理的话可以看一看源代码。 使用范例: 1)关闭腾讯新闻窗口“腾讯网迷你版”。 Dim window As New clsWindow If window.GetWindowHwndByTitle("腾讯网迷你版") > 0 Then window.CloseWindow '关闭窗口 End If 以上是不是很简洁呢? 2)获取某个打开的记事本里面的内容。假设记事本标题为“测试.txt - 记事本”,通过SPY等工具查看得知记事本的文本框类名为:Edit,那么我们编写程序如下: Dim window As New clsWindow If window.GetWindowHwndByTitle("测试.txt - 记事本") > 0 Then MsgBox window.GetElementTextByClassName("Edit") End If 这个看起来也很简单,方法自由还可以使用正则匹配,可以写成下面这样: Dim window As New clsWindow If window.GetWindowHwndByTitleRegExp("测试\.txt.*?") > 0 Then MsgBox window.GetElementTextByClassName("Edi", , True)'第三个参数表示是否使用正则,默认为false End If 更多演示案例: 演示程序一(关闭包含“扫雷、蜘蛛纸牌”等系统自带游戏的窗口): http://files.cnblogs.com/sysdzw/clsWindow1.7_demo1.rar 演示程序二(调用系统计算器,点击里面的按钮进行计算): http://files.cnblogs.com/sysdzw/clsWindow1.7_demo2.rar 演示程序三(激活移动外部程序窗口): http://files.cnblogs.com/sysdzw/clsWindow1.7_demo3.rar 演示程序四(调用系统计算器,花样移动出现,效果很好): http://files.cnblogs.com/sysdzw/clsWindow1.7_demo4.rar clsWindow类最新版下载请关注博客: http://blog.csdn.net/sysdzw/article/details/9083313 '=================================================================================== '描 述:一个操作windows窗口的类,可对窗口进行很多常用的操作(类名为clsWindow) '使用范例:Dim window As New clsWindow ' window.GetWindowHwndByTitle "计算器" ' window.closeWindow '编 程:sysdzw 原创开发,如果有需要对模块扩充或更新的话请邮箱发我一份,共同维护 '发布日期:2013/06/01 '博 客:http://hi.baidu.com/sysdzw ' http://blog.csdn.net/sysdzw 'Email :sysdzw@163.com 'QQ :171977759 '版 本:V1.0 初版 2012/12/03 ' V1.1 修正了几个正则相关的函数,调整了部分类结构 2013/05/28 ' V1.2 增加属性Caption,可以获取或设置当前标题栏 2013/05/29 ' V1.3 增加了方法Focus,可以激活当前窗口 2013/06/01 ' 增加了方法Left,Top,Width,Height,Move,处理窗口位置等 ' V1.4 增加了窗口位置调整的几个函数 2013/06/04 ' 增加了得到应用程序路径的函数AppName ' 增加了得到应用程序启动参数的函数AppCommandLine ' V1.5 增加了窗口最大最小化,隐藏显示正常的几个函数 2013/06/06 ' 增加了获取控件相关函数是否使用正则的参数UseRegExp默认F ' V1.6 将Left,Top函数改为属性,可获得可设置 2013/06/10 ' V1.7 增加了CloseApp函数,可以结束进程 2013/06/13 ' 修正了部分跟正则匹配相关的函数 ' 增加函数:GetElementTextByText ' 增加函数:GetElementHwndByText ' V1.8 增加GetWindowHwndByClassName函数 2013/06/26 ' 增加GetWindowHwndByClassNameEx函数 ' 增加GetWindowHwndByAppName函数 ' 增加私有变量hWnd_ ' 增加属性hWnd,可设置,单设置时候会检查,非法则设置为0 ' 更新GetWindowHwndByTitleEx函数,使之可以选择性支持正则 ' 删除GetWindowHwndByTitleRegExp函数,合并到上面函数 ' 增加SetFocus函数,调用Focus实现,为了是兼容VB习惯 ' 扩了ProcessID、AppPath、AppName、AppCommandLine三个函数,可带参数 ' 网友wwb(wwbing@gmail.com)提供了一些函数和方法属性: ' CheckWindow, Load, WindowState, Visible, hDC, ZOrder ' AlphaBlend, Enabled, Refresh, TransparentColor ' 部分采纳网友意见,将句柄变量改为hWnd_,但是hWnd作为公共属性 '===================================================================================

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧