이 기사의 예에서는 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=""//如果不加这句,则每次选择的结果追加 var huoQu=document.getElementById("D2") for(var k=0;k<huoQu.length;k++) yuanGong.value=yuanGong.value + huoQu.options[k].value + " "//这里的" "中间为空格,为字符间的分隔符,你可以改成别的 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 프로그래밍 설계에 도움이 되기를 바랍니다.