A. js如何實現點擊文本框彈出DIV層
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).onmouseover=function(){this.style.background="#eee";clearTimeout(timer)}
getobj(inputid+"li"+i).onmouseout=function(){this.style.background="#fff"}}}var newdiv=getobj(inputid+"mydiv")
newdiv.onclick=function(){hiddiv(event,inputid);}
newdiv.onmouseout=function(){Mout(this)}
newdiv.onmouseover=function(){clearTimeout(timer)}
getobj(inputid).onmouseout=function(){Mout(newdiv)}
newdiv.style.display="block";swtemp=1;objtemp=inputid;}var timerfunction 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
....利用定義標簽賦值....(onclick)....<input id="mytext" type="text"onclick="showdiv(this.id,this.list)" list="文本框,彈出層,值賦"/<scriptvar 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
B. js怎麼做點擊一個圖片彈出一個層的效果
這里有一個彈出層效果
還可以設置居中和隨屏滾動
你可以自己加上下面的功能
裡面有教程和源碼
C. js如何實現點擊圖片彈出窗口並放大這張圖片,彈出的窗口有半透明遮罩層效果,彈出的窗口不跳頁面
通過JS代碼 document.getElementById('divID').style.etElementById('divID').style.display = 'none'。函數可以實現。
D. js中如何彈出一個可以輸入多個信息的提示對話框
思路:
如果要輸入多個信息,那麼原生的提示框肯定不符合要求,需要自己定義。
一般都是使用div層模擬提示框,這樣就可以隨便布局了。
代碼示例:
1、定義CSS
<styletype="text/css">
body{
height:100%;
overflow:auto;
margin:0;
}
#test_Div{
position:fixed;
_position:absolute;
top:50%;
left:50%;
border:2pxsolid#C0C0C0;/*彈出框邊框樣式*/
background-color:#FFFFFF;/*彈出框背景色*/
display:none;
}
*html{
overflow:hidden;
position:absolute;
}
</style>
2、簡單點,引入JQuery
<scripttype="text/javascript"src="js/jquery.min.js"></script>
<scripttype="text/javascript"src="js/jquery_ui/js/jquery-ui-1.9.2.custom.min.js"></script>
3、彈出層
functionshow_Win(div_Win,tr_Title,event){
vars_Width=document.documentElement.scrollWidth;//滾動寬度
vars_Height=document.documentElement.scrollHeight;//滾動高度
varjs_Title=$(document.getElementById(tr_Title));//標題
js_Title.css("cursor","move");
//創建遮罩層
$("<divid="div_Bg"></div>").css({"position":"absolute","left":"0px","right":"0px","width":s_Width+"px","height":s_Height+"px","background-color":"#ffffff","opacity":"0.6"}).prependTo("body");
//獲取彈出層
varmsgObj=$("#"+div_Win);
msgObj.css('display','block');//必須先彈出此行,否則msgObj[0].offsetHeight為0,因為"display":"none"時,offsetHeight無法取到數據;如果彈出框為table,則為'',如果為div,則為block,否則textbox長度無法充滿td
//y軸位置
varjs_Top=-parseInt(msgObj.height())/2+"px";
//x軸位置
varjs_Left=-parseInt(msgObj.width())/2+"px";
msgObj.css({"margin-left":js_Left,"margin-top":js_Top});
//使彈出層可移動
msgObj.draggable({handle:js_Title,scroll:false});
}
4、調用
<inputtype="button"value="測試彈出框"onclick="show_Win('div_Test','title',event)"/>
<divid="div_Test">
<divid="title"style="border:1pxsolidred;">標題</div>
內容
</div>