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知识点之&quot;字面量和对应类型&quot;说明介绍
Apr 23 Javascript
JS版的date函数(和PHP的date函数一样)
May 12 Javascript
原生JS和JQuery动态添加、删除表格行的方法
May 28 Javascript
javascript中checkbox使用方法简单实例演示
Nov 17 Javascript
详解javascript跨浏览器事件处理程序
Mar 27 Javascript
简单总结JavaScript中的String字符串类型
May 26 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
Aug 08 Javascript
使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)
Nov 12 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
Dec 08 Javascript
微信小程序使用map组件实现获取定位城市天气或者指定城市天气数据功能
Jan 22 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
Feb 27 jQuery
微信小程序 flexbox layout快速实现基本布局的解决方案
Mar 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
jquery获取多个checkbox的值异步提交给php的方法
2015/06/24 PHP
PHP简单处理表单输入的特殊字符的方法
2016/02/03 PHP
php中让人头疼的浮点数运算分析
2016/10/10 PHP
Laravel使用原生sql语句并调用的方法
2019/10/09 PHP
表单提交时自动复制内容到剪贴板的js代码
2007/03/16 Javascript
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
详解开源的JavaScript插件化框架MinimaJS
2017/10/26 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
Angular通过指令动态添加组件问题
2018/07/09 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
three.js搭建室内场景教程
2018/12/30 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
C#返回当前系统所有可用驱动器符号的方法
2015/04/18 Python
Python实现程序的单一实例用法分析
2015/06/03 Python
Python中常用操作字符串的函数与方法总结
2016/02/04 Python
使用python实现tcp自动重连
2017/07/02 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
Python中请不要再用re.compile了
2019/06/30 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
Pytorch基本变量类型FloatTensor与Variable用法
2020/01/08 Python
python中列表的含义及用法
2020/05/26 Python
Django自带用户认证系统使用方法解析
2020/11/12 Python
先进个人获奖感言
2014/01/24 职场文书
学校募捐倡议书
2014/05/14 职场文书
大学生青年志愿者活动总结
2015/05/06 职场文书
导盲犬小Q观后感
2015/06/11 职场文书
仙境之桥观后感
2015/06/16 职场文书
师范生见习总结范文
2015/06/23 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
MongoDB误操作后使用oplog恢复数据
2022/04/11 MongoDB
详解Go语言中Get/Post请求测试
2022/06/01 Golang