js實(shí)現(xiàn)仿Discuz文本框彈出層效果
本文實(shí)例講述了js實(shí)現(xiàn)仿Discuz文本框彈出層效果。分享給大家供大家參考。具體如下:
這是一個(gè)在經(jīng)典論壇曾經(jīng)熱討論的問題,記得在QQ郵箱里也有類似功能,Discuz7.0論壇里同樣也有,當(dāng)你的鼠標(biāo)單擊文本框的時(shí)候,會(huì)彈出一個(gè)包含文字、圖片、表單無素的DIV層,里面的元素都可以進(jìn)行操作,很方便,選中的值會(huì)自動(dòng)添加到文本框內(nèi)。本代碼經(jīng)過了多次修正,沒有進(jìn)行過多美化,你美工好的話可以自己美化。
運(yùn)行效果截圖如下:

具體代碼如下:
<!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>文本框彈出內(nèi)容框并取值</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://如果不加這句,則每次選擇的結(jié)果追加
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程序設(shè)計(jì)有所幫助。
相關(guān)文章
vue組件中watch props根據(jù)v-if動(dòng)態(tài)判斷并掛載DOM的問題
這篇文章主要介紹了vue組件中watch props根據(jù)v-if動(dòng)態(tài)判斷并掛載DOM的問題,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05
javascript 就地編輯實(shí)現(xiàn)代碼
最近正在看《javascript設(shè)計(jì)模式》,其中有一個(gè)'就地編輯'的示例,用來表現(xiàn)不同的繼承方式,看完之后想自己憑理解寫一個(gè)類似的東西。2010-05-05
javascript間隔定時(shí)器(延時(shí)定時(shí)器)學(xué)習(xí) 間隔調(diào)用和延時(shí)調(diào)用
這篇文章主要介紹了javascript間隔調(diào)用和延時(shí)調(diào)用示例,介紹setInterval方法和clearInterval方法的使用方法,大家參考使用吧2014-01-01
深入理解JavaScript系列(6):S.O.L.I.D五大原則之單一職責(zé)SRP
Bob大叔提出并發(fā)揚(yáng)了S.O.L.I.D五大原則,用來更好地進(jìn)行面向?qū)ο缶幊?/div> 2012-01-01
基于JavaScript實(shí)現(xiàn)移除(刪除)數(shù)組中指定元素
在Array對象中有給定的函數(shù)可以刪除數(shù)組中指定的元素,雖然非常好用,但是總感覺看不到摸不著的比較別扭,下面就分享一個(gè)自定義的刪除數(shù)組指定索引值元素的函數(shù),希望給大家一個(gè)全新的思路2016-01-01
js數(shù)組方法reduce經(jīng)典用法代碼分享
本文給大家整理了很多關(guān)于js數(shù)組方法reduce的經(jīng)典代碼片段,能夠讓大家更好的理解reduce的實(shí)例用法,一起學(xué)習(xí)下吧。2018-01-01最新評論

