js实现仿Discuz文本框弹出层效果


Posted in Javascript onAugust 13, 2015

本文实例讲述了js实现仿Discuz文本框弹出层效果。分享给大家供大家参考。具体如下:

这是一个在经典论坛曾经热讨论的问题,记得在QQ邮箱里也有类似功能,Discuz7.0论坛里同样也有,当你的鼠标单击文本框的时候,会弹出一个包含文字、图片、表单无素的DIV层,里面的元素都可以进行操作,很方便,选中的值会自动添加到文本框内。本代码经过了多次修正,没有进行过多美化,你美工好的话可以自己美化。

运行效果截图如下:

js实现仿Discuz文本框弹出层效果

具体代码如下:

<!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程序设计有所帮助。

Javascript 相关文章推荐
基于JQuery的访问WebService的代码(可访问Java[Xfire])
Nov 19 Javascript
为jQuery增加join方法的实现代码
Nov 28 Javascript
Bootstrap框架实现广告轮播效果
Nov 28 Javascript
js实现文字选中分享功能
Jan 25 Javascript
Javascript实现信息滚动效果
May 18 Javascript
js移动端图片压缩上传功能
Aug 18 Javascript
详解Vue文档中几个易忽视部分的剖析
Mar 24 Javascript
详解使用create-react-app快速构建React开发环境
May 16 Javascript
Layui给数据表格动态添加一行并跳转到添加行所在页的方法
Aug 20 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
Sep 16 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
Dec 25 Javascript
使用Sonarqube扫描Javascript代码的示例
Dec 26 Javascript
深入学习JavaScript中的原型prototype
Aug 13 #Javascript
javascript获取本机操作系统类型的方法
Aug 13 #Javascript
javascript中offset、client、scroll的属性总结
Aug 13 #Javascript
用JavaScript实现PHP的urlencode与urldecode函数
Aug 13 #Javascript
asp.net中oracle 存储过程(图文)
Aug 12 #Javascript
JavaScript的jQuery库插件的简要开发指南
Aug 12 #Javascript
JavaScript中的call方法和apply方法使用对比
Aug 12 #Javascript
You might like
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
基于PHP读取TXT文件向数据库导入海量数据的方法
2013/04/23 PHP
javascript 实用的文字链提示框效果
2010/06/30 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
javascript打印输出json实例
2013/11/11 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
常用的jQuery前端技巧收集
2014/12/24 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
javascript实现校验文件上传控件实例
2015/04/20 Javascript
JS实现简单路由器功能的方法
2015/05/27 Javascript
jQuery实现导航滚动到指定内容效果完整实例【附demo源码下载】
2016/09/20 Javascript
BootStrap Datetimepicker 汉化的实现代码
2017/02/10 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
JavaScript图片处理与合成总结
2018/03/04 Javascript
jquery.pagination.js分页使用教程
2018/10/23 jQuery
vue通过style或者class改变样式的实例代码
2018/10/30 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
6行代码实现微信小程序页面返回顶部效果
2018/12/28 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
Javascript异步编程async实现过程详解
2020/04/02 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
python切换hosts文件代码示例
2013/12/31 Python
python基于右递归解决八皇后问题的方法
2015/05/25 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
在Python的一段程序中如何使用多次事件循环详解
2017/09/07 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
python中文分词库jieba使用方法详解
2020/02/11 Python
一篇文章教你用python画动态爱心表白
2020/11/22 Python
将HTML5 Canvas的内容保存为图片借助toDataURL实现
2013/05/20 HTML / CSS
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
澳大利亚在线划船、露营和钓鱼商店:BCF Australia
2020/03/22 全球购物
双十佳事迹材料
2014/01/29 职场文书
《学会待客》教学反思
2014/02/22 职场文书
2014年营销工作总结
2014/11/22 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书