JS實現點擊文本框彈出DIV層

<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>new page</title>
<script type="text/javascript" language="javascript">
function crertdiv(_parent,_element,_id,_css){//創建層
                var newObj = document.createElement(_element);
                if(_id && _id!="")newObj.id=_id;
                if(_css && _css!=""){
                        newObj.setAttribute("style",_css);
                        newObj.style.cssText = _css;
                }
                if(_parent && _parent!=""){
                        var theObj=getobj(_parent);
                        var parent = theObj.parentNode;
                        if(parent.lastChild == theObj){
                                theObj.appendChild(newObj);
                        }
                        else{
                                theObj.insertBefore(newObj, theObj.nextSibling);
                        }
                }
                else        document.body.appendChild(newObj);
}
function getobj(o){//獲取對象
                return document.getElementById(o)
}
var swtemp=0,objtemp;
function showdiv(inputid,inputlist){//顯示層
        if (swtemp==1){getobj(objtemp+"mydiv").style.display="none";}
        var text_list=inputlist.split(",")
                if (!getobj(inputid+"mydiv")){//若尚未創建就建之
                        var divcss="font-size:12px;color:#00f;position:absolute;left:"+(getobj(inputid).offsetLeft+0)+"px;top:"+(getobj(inputid).offsetTop+25)+"px;border:1px solid red"
                        crertdiv("","div",inputid+"mydiv",divcss);//創建層"mydiv"
                        //alert(document.getElementById("mydiv").outerHTML)
                        crertdiv(inputid+"mydiv","ul",inputid+"myul");//創建ul       
                        for (var i=0,j=text_list.length;i<j;i++){//創建"text_list"li
                                crertdiv(inputid+"myul","li",inputid+"li"+i,"background:#fff");
                                getobj(inputid+"li"+i).innerHTML=text_list;
                        }
                        crertdiv(inputid+"myul","li",inputid+"li"+j,"color:#f00;background:#fff");//創建"clear"li
                        getobj(inputid+"li"+j).innerHTML="clear";
                        getobj(inputid+"mydiv").innerHTML +="<style type='text/css'>#"+inputid+"mydiv ul {padding:0px;margin:0;}#"+inputid+"mydiv ul li{list-style-type:none;padding:5px;margin:0;float:left;CURSOR: pointer;}</style>"
                        for (var i=0;i<=j;i++){
                                        getobj(inputid+"li"+i).οnmοuseοver=function(){this.style.background="#eee";clearTimeout(timer)}
                                        getobj(inputid+"li"+i).οnmοuseοut=function(){this.style.background="#fff"}
                        }
                }
                var newdiv=getobj(inputid+"mydiv")
                newdiv.οnclick=function(){hiddiv(event,inputid);}
                newdiv.οnmοuseοut=function(){Mout(this)}
                newdiv.οnmοuseοver=function(){clearTimeout(timer)}
                getobj(inputid).οnmοuseοut=function(){Mout(newdiv)}
                newdiv.style.display="block";
                swtemp=1;
                objtemp=inputid;
}
var timer
function Mout(o){
timer=setTimeout(function(){o.style.display="none";},300)
                swtemp=0;
}
function hiddiv(e,inputid){
    e=e||window.event;
    ev=e.target||e.srcElement;
    v=ev.innerText||ev.textContent;
    if (v!="clear")getobj(inputid).value=v;else getobj(inputid).value=""
                getobj(inputid+"mydiv").style.display="none";
}
</script>
</head>
<body>
<br>
<br>
<br>
<br>
....利用定義標籤賦值....(onclick)....<input id="mytext" type="text"οnclick="showdiv(this.id,this.list)" list="文本框,彈出層,值賦"/>
<br>
<br>
<script>
var list="文本框2,彈出層2,值賦2,文本框2-1,彈出層2-1,值賦2-1"
</script>
....利用定義JS變量賦值...(onclick)....<input id="mytext2" type="text" onClick="showdiv(this.id,list)"/>
<input type="hidden" value="點擊,彈出,顯示,消失,實現" id="list">
....利用隱藏域值賦值....(onmouseover).....<input id="mytext3" type="text" onMouseOver="showdiv(this.id,getobj('list').value)"/>
</body>
</html>












....利用定義標籤賦值....(onclick)....





....利用定義JS變量賦值...(onclick)....

....利用隱藏域值賦值....(onmouseover).....

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章