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 相关文章推荐
认识延迟时间为0的setTimeout
May 16 Javascript
jQuery简单图表peity.js使用示例
May 02 Javascript
jquery实现select选择框内容左右移动代码分享
Nov 21 Javascript
JavaScript的Backbone.js框架入门学习指引
May 07 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
Feb 24 Javascript
JS实现计算小于非负数n的素数的数量算法示例
Feb 26 Javascript
Vue中通过Vue.extend动态创建实例的方法
Aug 13 Javascript
解决vue 子组件修改父组件传来的props值报错问题
Nov 09 Javascript
JS快速实现简单计算器
Apr 08 Javascript
JS原生实现轮播图的几种方法
Mar 23 Javascript
详解Javascript实践中的命令模式
May 05 Javascript
javascript的var与let,const之间的区别详解
Feb 18 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中的Iterator迭代对象属性详解
2019/04/12 PHP
javascript 面向对象思想 附源码
2009/07/07 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
仅一个form表单 js实现注册信息依次填写提交功能
2016/06/12 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
微信JSAPI支付操作需要注意的细节
2017/01/10 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
在Python中操作文件之truncate()方法的使用教程
2015/05/25 Python
Python打印斐波拉契数列实例
2015/07/07 Python
Python内置函数OCT详解
2016/11/09 Python
使用python爬虫实现网络股票信息爬取的demo
2018/01/05 Python
python3.7.0的安装步骤
2018/08/27 Python
Python并发:多线程与多进程的详解
2019/01/24 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
Python序列类型的打包和解包实例
2019/12/21 Python
Python读取YAML文件过程详解
2019/12/30 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
解决tensorflow 释放图,删除变量问题
2020/06/23 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
复古斯堪的纳维亚儿童服装:Baby go Retro
2017/09/09 全球购物
招商业务员岗位职责
2013/12/16 职场文书
家长给老师的道歉信
2014/01/13 职场文书
体现团队精神的口号
2014/06/06 职场文书
市委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
未婚证明格式
2015/06/15 职场文书
2015年音乐教研组工作总结
2015/07/22 职场文书
幼儿园教师管理制度
2015/08/05 职场文书
python使用pywinauto驱动微信客户端实现公众号爬虫
2021/05/19 Python
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python