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 相关文章推荐
比较全面的event对像在IE与FF中的区别 推荐
Sep 21 Javascript
用jQuery扩展自写的 UI导航
Jan 13 Javascript
javascript showModalDialog,open取得父窗口的方法
Mar 10 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 Javascript
javascript获取dom的下一个节点方法
Sep 05 Javascript
浅析node.js中close事件
Nov 26 Javascript
js动态修改表格行colspan列跨度的方法
Mar 30 Javascript
js实现模拟银行卡账号输入显示效果
Nov 18 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
Dec 13 Javascript
浅谈javascript中的call、apply、bind
Mar 06 Javascript
AngularJS中$http使用的简单介绍
Mar 17 Javascript
vue组件中的样式属性scoped实例详解
Oct 30 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实现绘制3D扇形统计图及图片缩放实例
2014/10/01 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
php实现QQ小程序发送模板消息功能
2019/09/18 PHP
php实现简单四则运算器
2020/11/29 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
js玩一玩WSH吧
2007/02/23 Javascript
javascript 限制输入和粘贴(IE,firefox测试通过)
2008/11/14 Javascript
解析js如何获取当前url中的参数值并复制给input
2013/06/23 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
JavaScript中实现sprintf、printf函数
2015/01/27 Javascript
jQuery中常用的遍历函数用法实例总结
2015/09/01 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
详解小程序缓存插件(mrc)
2018/08/17 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
Python变量和字符串详解
2017/04/29 Python
python安装教程 Pycharm安装详细教程
2017/05/02 Python
Python之Scrapy爬虫框架安装及简单使用详解
2017/12/22 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
创建pycharm的自定义python模板方法
2018/05/23 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
2020/09/23 Python
Python hashlib模块的使用示例
2020/10/09 Python
is_file和file_exists效率比较
2021/03/14 PHP
瑞典在互联网上最大的宠物商店:Animail
2020/10/31 全球购物
机械专业个人求职自荐信格式
2013/09/21 职场文书
财产公证书
2014/04/10 职场文书
求职信结尾怎么写
2014/05/26 职场文书
竞选纪律委员演讲稿
2014/09/13 职场文书
地陪导游欢迎词
2015/01/26 职场文书