本文实例讲述了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程序设计有所帮助。
本文地址:https://www.stayed.cn/item/23254
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我