本文實例講述了js實現仿Discuz文本框彈出層效果。分享給大家供大家參考。具體如下:
這是一個在經典論壇曾經熱討論的問題,記得在QQ郵箱里也有類似功能,Discuz7.0論壇里同樣也有,當你的鼠標單擊文本框的時候,會彈出一個包含文字、圖片、表單無素的DIV層,里面的元素都可以進行操作,很方便,選中的值會自動添加到文本框內。本代碼經過了多次修正,沒有進行過多美化,你美工好的話可以自己美化。
運行效果截圖如下:
具體代碼如下:
<!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 moveselect(obj,target,all){ if (!all) all=0 if (obj!="[object]") obj=eval("document.all."+obj) target=eval("document.all."+target) if (all==0) { while (obj.selectedIndex>-1){ mot=obj.options[obj.selectedIndex].text mov=obj.options[obj.selectedIndex].value obj.remove(obj.selectedIndex) var newoption=document.createElement("OPTION"); newoption.text=mot newoption.value=mov target.add(newoption) } } else { for (i=0;i<obj.length;i++) { mot=obj.options[i].text mov=obj.options[i].value var newoption=document.createElement("OPTION"); newoption.text=mot newoption.value=mov target.add(newoption) }obj.options.length=0 }}function dakai(){document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'}function guanbi(){var yuanGong=document.getElementById("yuanGong")yuanGong.value=""http://如果不加這句,則每次選擇的結果追加var huoQu=document.getElementById("D2")for(var k=0;k<huoQu.length;k++)yuanGong.value=yuanGong.value + huoQu.options[k].value + " "http://這里的" "中間為空格,為字符間的分隔符,你可以改成別的document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none' }</script><style>.black_overlay{display: none;position: absolute;top: 0%;left: 0%;width: 100%;height: 100%;background-color:#FFFFFF;z-index:1001;-moz-opacity: 0.8;opacity:.80;filter: alpha(opacity=80);}.white_content {display: none;position: absolute;top: 25%;left: 25%;width: 50%;height: 50%;padding: 16px;border: 16px solid orange; margin:-32px; background-color: white;z-index:1002;overflow: auto;}</style></head><body><input type="text" id="yuanGong" onclick="dakai()" size="50"><div id="light" class="white_content"><table border="1" width="350" id="table4" bordercolor="#CCCCCC" bordercolordark="#CCCCCC" bordercolorlight="#FFFFFF" cellpadding="3" cellspacing="0"> <tr> <td width="150" height="200" align="center" valign="middle"> 該部門員工 <select size="12" name="D1" ondblclick="moveselect(this,'D2')" multiple="multiple" style="width:140px"> <option value="員工1">員工1</option> <option value="員工2">員工2</option> <option value="員工3">員工3</option> </select> </td> <td width="50" height="200" align="center" valign="middle"> <input type="button" value="<<" name="B3" onclick="moveselect('D2','D1',1)" /><br /> <input type="button" value="<" name="B5" onclick="moveselect('D2','D1')" /><br /> <input type="button" value=">" name="B6" onclick="moveselect('D1','D2')" /><br /> <input type="button" value=">>" name="B4" onclick="moveselect('D1','D2',1)" /><br /> </td> <td width="150" height="200" align="center" valign="middle"> 未劃分部門員工 <select size="12" name="D2" id="D2" ondblclick="moveselect(this,'D1')" multiple="multiple" style="width:140px"> <option value="員工4">員工4</option> <option value="員工5">員工5</option> </select> </td> </tr></table><a href = "javascript:void(0)" onclick = "guanbi()">確定</a><BR><BR></div><div id="fade" class="black_overlay"></div></body></html>
希望本文所述對大家的javascript程序設計有所幫助。
新聞熱點
疑難解答