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 相关文章推荐
js 替换
Feb 19 Javascript
关于javascript document.createDocumentFragment()
Apr 04 Javascript
用js实现计算加载页面所用的时间
Apr 02 Javascript
预加载css或javascript的js代码
Apr 23 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
May 04 Javascript
js最简单的拖拽效果实现代码
Sep 24 Javascript
Java/JS获取flash高宽的具体方法
Dec 27 Javascript
AngularJS自动表单验证
Feb 01 Javascript
关于JS中二维数组的声明方法
Sep 24 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
Jan 14 Javascript
jQuery实现提交表单时不提交隐藏div中input的方法
Oct 08 jQuery
js实现星星打分效果
Jul 05 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
Uchome1.2 1.5 代码学习 common.php
2009/04/24 PHP
PHP连接局域网MYSQL数据库的简单实例
2013/08/26 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
PHP支付宝当面付2.0代码
2018/12/21 PHP
PHP中单例模式的使用场景与使用方法讲解
2019/03/18 PHP
PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
2019/04/27 PHP
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
Javascript 闭包引起的IE内存泄露分析
2012/05/23 Javascript
js 控制页面跳转的5种方法
2013/09/09 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
jQuery实现的鼠标经过时变宽的效果(附demo源码)
2016/04/28 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
js实现弹窗暗层效果
2017/01/16 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
vue-cli+webpack项目 修改项目名称的方法
2018/02/28 Javascript
JS中用EL表达式获取上下文参数值的方法
2018/03/28 Javascript
js实现购物车功能
2018/06/12 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
Python抓取淘宝下拉框关键词的方法
2015/07/08 Python
python中私有函数调用方法解密
2016/04/29 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
2019/06/20 Python
python实现宿舍管理系统
2019/11/22 Python
open_basedir restriction in effect. 原因与解决方法
2021/03/14 PHP
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
外联部演讲稿
2014/05/24 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
运动会主持词大全
2015/07/02 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
保外就医申请书范文
2015/08/06 职场文书
烈士陵园扫墓感想
2015/08/07 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server