本文实例讲述了JS实现很酷的EMAIL地址添加功能的方法。分享给大家供大家参考。具体实现方法如下:
<html> <head> <title>JS实现很酷的EMAIL地址添加功能</title> <style type="text/css"> ul{ list-style:none; margin:0; padding:0;} li{ margin:0; padding:0;} #content{width:100%;} #sendmail{float:left; width:60%;} #friendlist{float:left; width:30%;} #bxAddrFly{position:absolute;height:18px; width:46px;background:#EEE; border:1px #ccc solid;display:none;} #tbAddrTree{ width:126px; float:left; padding:5px;border:1px #7F9DB9 solid;} #tbAddrTree li{ width:100%; float:left;} #tbAddrTree a{backgroud: #fff;width: 100%;color:#494949;text-decoration: none;float:left;} #tbAddrTree a:hover{background: #e5edf6;} </style> <script type="text/javascript"> var ev={}; var flyDiv="bxAddrFly"; var inceptDiv="SendAddress"; var addEvent="addAddress()"; function oo(obj){return (document.getElementById) ? document.getElementById(obj): document.all[obj];} function isNone(str){return str==null||str==""?true:false} var Browser = new Object(); Browser.isFirefox = (navigator.userAgent.toLowerCase().indexOf("firefox")!=-1); if (Browser.isFirefox) { extendEventObject();} function extendEventObject() { window.constructor.prototype.__defineGetter__("event", function(){ var o = arguments.callee.caller; var e; while(o != null){ e = o.arguments[0]; if(e && (e.constructor == Event || e.constructor == MouseEvent)) return e; o = o.caller; } return null; });Event.prototype.__defineGetter__("srcElement", function () { var node = this.target; while (node.nodeType != 1) node = node.parentNode; return node; }); } window.onload = function(){ var addrTree = oo('tbAddrTree'); addrTree.onmouseover = function(){addrTree_event(event)}; addrTree.onmouseout = function(){addrTree_event(event)}; addrTree.onclick = function(){addrTree_event(event)}; } function addrTree_event(e){ var memberID,tr var ee = e.srcElement; if(ee.tagName=="A"&&e.type=="mouseover"){ee.style.textDecoration="underline"} if(ee.tagName=="A"&&e.type=="mouseout"){ee.style.textDecoration=""} if(e.type=="click"&&e.srcElement.tagName=="A"){ var li=ee.parentNode.parentNode; ev.AddInfo="\""+li.getAttribute("memberName")+"\"<\""+li.getAttribute("email")+"\">" oo(flyDiv).innerHTML=li.getAttribute("memberName"); addrTree_add(e.clientX,e.clientY) } } function addrTree_add(ex,ey){ if(oo(flyDiv).style.display=='none'||oo(flyDiv).style.display==''){oo(flyDiv).style.display='block';} var inceptE = oo(inceptDiv); var inceptEX = inceptE.offsetTop; var inceptEY = inceptE.offsetLeft; while(inceptE = inceptE.offsetParent){ inceptEX += inceptE.offsetTop; inceptEY += inceptE.offsetLeft; } ev.flyArr=new Array(ex,ey,inceptEX,inceptEY,10); fly(flyDiv,addEvent); }
function fly(flyObj,flyRun){ var obj,a=ev.flyArr,x,y if(flyObj!=null){ if(ev.flyObj!=null){ window.clearTimeout(ev.flyTm); ev.flyObj.style.top=-900; } a[5]=0; ev.flyObj=oo(flyObj); ev.flyRun=flyRun; }
obj=ev.flyObj; if(a[4]==null){a[4]=1} a[5]+=a[4]/Math.sqrt(Math.pow(a[2]-a[0],2)+Math.pow(a[3]-a[1],2)); if(a[5]>1){ obj.style.top=-900; eval(ev.flyRun); ev.flyObj=null; return; }
window.clearTimeout(ev.flyTm); x=(a[2]-a[0])*a[5]+a[0]; y=(a[3]-a[1])*a[5]+a[1]; obj.style.left=x; obj.style.top=y; document.body.style.overflowX="hidden"; ev.flyTm=window.setTimeout("fly()",10) }
function addAddress() { var key=ev.AddInfo; if (oo(inceptDiv).value.indexOf(key)==-1) { oo(inceptDiv).value+=key+","; } } </script> </head> <body> <div id="content"> <div id="sendmail"> <input name="textfield" type="text" id="SendAddress" size="70"> </div> <div id="friendlist"> <div id="tbAddrTree"> <ul> <li membername="张三" email="zhangsan@163.com"><nobr><a>张三</a></nobr></li> <li membername="李四" email="lisi@1126.com"><nobr><a>李四</a></nobr></li> <li membername="王五" email="wangwu@189.com"><nobr><a>王五</a></nobr></li> </ul> </div> <div id="bxAddrFly"> </div> </div> </div> <br /> </body> </html>
希望本文所述对大家的javascript程序设计有所帮助。
本文向大家介绍JScript实现地址选择功能,包括了JScript实现地址选择功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了JScript实现地址选择功能的具体代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍C#实现的优酷真实视频地址解析功能(2014新算法),包括了C#实现的优酷真实视频地址解析功能(2014新算法)的使用技巧和注意事项,需要的朋友参考一下 序:优酷之前更新了次算法(很久之前了,呵呵。。。),故此很多博客的解析算法已经无法使用。很多大牛也已经更新了新的解析方法。我也在此写篇解析过程的文章。(本文使用语言为C#) 由于优酷视频地址时间限制,在你访问本篇文章时,下面所属链接
本文向大家介绍很酷的星级评分系统原生JS实现,包括了很酷的星级评分系统原生JS实现的使用技巧和注意事项,需要的朋友参考一下 今天我又写了个很酷的实例:星级评分系统(可自定义星星个数、显示信息) sufuStar.star();使用默认值5个星星,默认信息 var msg = [........]; sufuStar.star(10,msg);自定义星星个数为10、显示信息msg格式参考默认值,
本文向大家介绍JS实现根据详细地址获取经纬度功能示例,包括了JS实现根据详细地址获取经纬度功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现根据详细地址获取经纬度功能。分享给大家供大家参考,具体如下: 这个功能还是比较实用的,记录分享一下: 这里使用在线HTML/CSS/JavaScript代码运行工具http://tools.jb51.net/code/HtmlJsRun测
本文向大家介绍用js实现typeof的功能相关面试题,主要包含被问及用js实现typeof的功能时的应答技巧和注意事项,需要的朋友参考一下
本文向大家介绍js拖拽功能的实现?相关面试题,主要包含被问及js拖拽功能的实现?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 首先是三个事件,分别是mousedown,mousemove,mouseup 当鼠标点击按下的时候,需要一个tag标识此时已经按下,可以执行mousemove里面的具体方法。 clientX,clientY标识的是鼠标的坐标,分别标识横坐标和纵坐标,并且我