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 相关文章推荐
用正则xmlHttp实现的偷(转)
Jan 22 Javascript
JavaScript 函数式编程的原理
Oct 16 Javascript
JS控件ASP.NET的treeview控件全选或者取消(示例代码)
Dec 16 Javascript
jquery单行文字向上滚动效果的实现代码
Sep 05 Javascript
node.js中的fs.realpathSync方法使用说明
Dec 16 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
Oct 22 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
jquery attr()设置和获取属性值实例教程
Sep 25 Javascript
js中创建对象的几种方式
Feb 05 Javascript
浅谈Webpack 持久化缓存实践
Mar 22 Javascript
Angular4学习笔记router的简单使用
Mar 30 Javascript
微信小程序自定义轮播图
Nov 04 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变量作用域的一些问题
2013/08/08 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
PHP入门教程之会话控制技巧(cookie与session)
2016/09/11 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
jQuery动态添加的元素绑定事件处理函数代码
2011/08/02 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
javascript实现的登陆遮罩效果汇总
2015/11/09 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
实例学习JavaScript读取和写入cookie
2018/01/29 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
vue.js+ElementUI实现进度条提示密码强度效果
2020/01/18 Javascript
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
pyspark 读取csv文件创建DataFrame的两种方法
2018/06/07 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
Python3模拟登录操作实例分析
2019/03/12 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
查看Python依赖包及其版本号信息的方法
2019/08/13 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
YOINS官网:时尚女装网上购物
2017/03/17 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
即兴演讲稿
2014/01/04 职场文书
英语商务邀请函范文
2014/01/16 职场文书
联欢晚会主持词
2014/03/25 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
《极主夫道》真人电影正式预告 定档6月3日上映
2022/04/05 日漫
Python进程池与进程锁之语法学习
2022/04/11 Python