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 实现的点击复制代码
Mar 24 Javascript
JavaScript脚本语言在网页中的简单应用
May 13 Javascript
JavaScript 图片预览效果 推荐
Dec 22 Javascript
js判断设备是否为PC并调整图片大小
Feb 12 Javascript
jQuery通过点击行来删除HTML表格行的实现示例
Sep 10 Javascript
jquery代码实现简单的随机图片瀑布流效果
Apr 20 Javascript
FullCalendar日历插件应用之数据展现(一)
Dec 23 Javascript
详解Vue组件之间的数据通信实例
Jun 17 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
Feb 11 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
Sep 15 Javascript
vue相关配置文件详解及多环境配置详细步骤
May 19 Javascript
原生js实现简单轮播图
Oct 26 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下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
php读取本地json文件的实例
2018/03/07 PHP
一些常用的Javascript函数
2006/12/22 Javascript
nodejs入门教程一:概念与用法简介
2017/04/24 NodeJs
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
node上的redis调用优化示例详解
2018/10/30 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
解决微信小程序中的滚动穿透问题
2019/09/16 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
Python的Flask框架应用调用Redis队列数据的方法
2016/06/06 Python
python将文本分每两行一组并保存到文件
2018/03/19 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
使用python进行拆分大文件的方法
2018/12/10 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
Django之编辑时根据条件跳转回原页面的方法
2019/08/21 Python
基于python实现地址和经纬度转换
2020/05/19 Python
新手学python应该下哪个版本
2020/06/11 Python
Python容器类型公共方法总结
2020/08/19 Python
Python selenium环境搭建实现过程解析
2020/09/08 Python
css3中background新增的4个新的相关属性用法介绍
2013/09/26 HTML / CSS
JAVA和C++区别都有哪些
2015/03/30 面试题
软件配置管理有什么好处
2015/04/15 面试题
写给女朋友的道歉信
2014/01/12 职场文书
英语三分钟演讲稿
2014/08/19 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
公司证明怎么写
2014/09/22 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
幼儿园万圣节活动总结
2015/05/05 职场文书
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL