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 相关文章推荐
JavaScript类库D
Oct 24 Javascript
js实现上传图片之上传前预览图片
Mar 25 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
Jul 11 Javascript
JS控制输入框内字符串长度
May 21 Javascript
JavaScript实现简单图片滚动附源码下载
Jun 17 Javascript
node.js中的fs.mkdirSync方法使用说明
Dec 17 Javascript
bootstrap实现的自适应页面简单应用示例
Mar 09 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
Sep 11 Javascript
layui实现数据表格隐藏列的示例
Oct 25 Javascript
jQuery HTML css()方法与css类实例详解
May 20 jQuery
浅谈JS for循环中使用break和continue的区别
Jul 21 Javascript
如何通过vscode运行调试javascript代码
Jul 24 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 socke 向指定页面提交数据
2008/07/23 PHP
浅谈PHP变量作用域以及地址引用问题
2013/12/27 PHP
ThinkPHP模板Switch标签用法示例
2014/06/30 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
JavaScript this调用规则说明
2010/03/08 Javascript
bootstrap模态框示例代码分享
2017/05/17 Javascript
NodeJS 实现手机短信验证模块阿里大于功能
2017/06/19 NodeJs
vue proxyTable 接口跨域请求调试的示例
2017/09/12 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
jQuery简单实现对数组去重及排序操作实例
2017/10/31 jQuery
JS中promise化微信小程序api
2018/04/12 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
2020/02/06 Javascript
如何解决vue在ios微信&quot;复制链接&quot;功能问题
2020/03/26 Javascript
Python设计模式之门面模式简单示例
2018/01/09 Python
Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法
2018/05/04 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
在Tensorflow中实现梯度下降法更新参数值
2020/01/23 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
大队委竞选演讲稿
2014/04/28 职场文书
农业开发项目建议书
2014/05/16 职场文书
公司任命书模板
2014/06/06 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
给老婆道歉的话
2015/01/20 职场文书
优秀班主任工作总结2015
2015/05/25 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
获奖感言范文
2015/07/31 职场文书
外出学习心得体会范文
2016/01/18 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书