js控制div弹出层实现方法


Posted in Javascript onMay 11, 2015

本文实例讲述了js控制div弹出层实现方法。分享给大家供大家参考。具体分析如下:

这是个功能很好,且容易调用和控制的弹出层。感兴趣的朋友可以调试运行一下看看效果如何~O(∩_∩)O~

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>弹出窗口(可拖动,背景灰色透明)</title>
<script type="text/javascript">
<!--
/*FileName:AlertMsg.js
title:提示标题
content:提示的内容*/
document.write("<style type=\"text/css\">*{padding:0; margin:0}.close{float:right;cursor:default}</style>")
function $(id){ return document.getElementById(id)}
function AlertMsg(title,content){
var msgw,msgh,msgbg,msgcolor,bordercolor,titlecolor,titlebg,con;
con = "<form><table style='margin:10px 15px 15px 15px; border:0;'><tr><th style='border:0; line-height:22px; padding:3px 0; vertical-align:top;font-weight:bold;'>分类:</th><td style='border:0; line-height:22px; padding:3px 0; vertical-align:top;width:75%;'><input type='text' name='typename' size='20'/></td></tr><tr><th></th><td style='border:0; line-height:22px; padding:3px 0; vertical-align:top;width:75%;'><button style='line-height:normal;' type='submit' onclick='return submitform()'>确定</button> <button style='line-height:normal;' type='reset'>取消</button></td></tr></table></form>";
//弹出窗口设置
msgw = 300;  //窗口宽度
msgh = 150;  //窗口高度
msgbg = "#FFF";  //内容背景
msgcolor = "#000";  //内容颜色
bordercolor = "#000"; //边框颜色
titlecolor = "#FFF"; //标题颜色
titlebg = "#369";  //标题背景
//遮罩背景设置
var sWidth,sHeight;
sWidth = screen.availWidth;
sHeight = document.body.scrollHeight;
//创建遮罩背景
var maskObj = document.createElement("div");
maskObj.setAttribute('id','maskdiv');
maskObj.style.position = "absolute";
maskObj.style.top = "0";
maskObj.style.left = "0";
maskObj.style.background = "#777";
maskObj.style.filter = "Alpha(opacity=30);";
maskObj.style.opacity = "0.3";
maskObj.style.width = sWidth + "px";
maskObj.style.height = sHeight + "px";
maskObj.style.zIndex = "10000";
document.body.appendChild(maskObj);
//创建弹出窗口
var msgObj = document.createElement("div")
msgObj.setAttribute("id","msgdiv");
msgObj.style.position ="absolute";
msgObj.style.top = (screen.availHeight - msgh) / 4 + "px";
msgObj.style.left = (screen.availWidth - msgw) / 2 + "px";
msgObj.style.width = msgw + "px";
msgObj.style.height = msgh + "px";
msgObj.style.fontSize = "12px";
msgObj.style.background = msgbg;
msgObj.style.border = "1px solid " + bordercolor;
msgObj.style.zIndex = "10001";
//创建标题
var thObj = document.createElement("div");
thObj.setAttribute("id","msgth");
thObj.className = "DragAble";
thObj.style.cursor = "move";
thObj.style.padding = "4px 6px";
thObj.style.color = titlecolor;
thObj.style.background = titlebg;
var titleStr = "<a class='close' title='关闭' style='cursor:pointer' onclick='CloseMsg()'>关闭</a>"+"<span>"+ title +"</span>";
thObj.innerHTML = titleStr;
//创建内容
var bodyObj = document.createElement("div");
bodyObj.setAttribute("id","msgbody");
bodyObj.style.padding = "10px";
bodyObj.style.lineHeight = "1.5em";
bodyObj.innerHTML = con;
var txt = document.createTextNode(content)
bodyObj.appendChild(txt);
//生成窗口
document.body.appendChild(msgObj);
$("msgdiv").appendChild(thObj);
$("msgdiv").appendChild(bodyObj);
}
function CloseMsg(){
//移除对象
document.body.removeChild($("maskdiv"));
$("msgdiv").removeChild($("msgth"));
$("msgdiv").removeChild($("msgbody"));
document.body.removeChild($("msgdiv"));
}
//拖动窗口
var ie = document.all;  
var nn6 = document.getElementById&&!document.all;  
var isdrag = false;  
var y,x;  
var oDragObj;  
function moveMouse(e) {  
if (isdrag) {  
oDragObj.style.top = (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y)+"px";  
oDragObj.style.left = (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x)+"px";  
return false;  
}  
}  
function initDrag(e) {  
var oDragHandle = nn6 ? e.target : event.srcElement;  
var topElement = "HTML";  
while (oDragHandle.tagName != topElement && oDragHandle.className != "DragAble") {  
oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement;  
}  
if (oDragHandle.className=="DragAble") {  
isdrag = true;  
oDragObj = oDragHandle.parentNode;  
nTY = parseInt(oDragObj.style.top);  
y = nn6 ? e.clientY : event.clientY;  
nTX = parseInt(oDragObj.style.left);  
x = nn6 ? e.clientX : event.clientX;  
document.onmousemove = moveMouse;  
return false;  
}  
}  
document.onmousedown = initDrag;  
document.onmouseup = new Function("isdrag=false");  
//-->
</script>
</head>
<body>
<table width="600" border="0" cellspacing="0" cellpadding="0">
 <tr >
  <td height="100" align="center" >
<p><a href="javascript:AlertMsg("温馨提示",'')">点我试试!</a></p>
  </td>
 </tr>
</table>
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
IE6下拉框图层问题探讨及解决
Jan 03 Javascript
jquery访问ashx文件示例代码
Aug 11 Javascript
jquery uploadify 在FF下无效的解决办法
Sep 26 Javascript
详细解读JavaScript的跨浏览器事件处理
Aug 12 Javascript
第九章之路径分页标签与徽章组件
Apr 25 Javascript
浅谈Sublime Text 3运行JavaScript控制台
Jun 06 Javascript
Javascript类型系统之String字符串类型详解
Jun 21 Javascript
Node.js实现文件上传
Jul 05 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
Jun 30 Javascript
vue实现全选和反选功能
Aug 31 Javascript
在vue中实现简单页面逆传值的方法
Nov 27 Javascript
JavaScript&quot;模拟事件&quot;的注意要点详解
Feb 13 Javascript
JavaScript实现点击文字切换登录窗口的方法
May 11 #Javascript
jQuery实现仿腾讯微博滑出效果报告每日天气的方法
May 11 #Javascript
JS选项卡动态替换banner图片路径的方法
May 11 #Javascript
js操作css属性实现div层展开关闭效果的方法
May 11 #Javascript
javascript中this的四种用法
May 11 #Javascript
JQuery插件jcarousellite的参数中文说明
May 11 #Javascript
javascript实现炫酷的拖动分页
May 11 #Javascript
You might like
PHP 已经成熟
2006/12/04 PHP
PHP取得一个类的属性和方法的实现代码
2011/05/22 PHP
js实现DIV的一些简单控制
2007/06/04 Javascript
奇妙的js
2007/09/24 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
javascript innerHTML使用分析
2010/12/03 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
解决jquery实现的radio重新选中的问题
2015/07/03 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
VUE预渲染及遇到的坑
2018/09/03 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
JS学习笔记之原型链和利用原型实现继承详解
2019/05/29 Javascript
Vue使用axios出现options请求方法
2019/05/30 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
vue css 引入asstes中的图片无法显示的四种解决方法
2020/03/16 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
python中threading超线程用法实例分析
2015/05/16 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
python生成xml时规定dtd实例方法
2020/09/21 Python
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
html5视频常用API接口的实战示例
2020/03/20 HTML / CSS
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
一道输出判断型Java面试题
2014/10/01 面试题
写好求职应聘自荐信的三部曲
2013/09/21 职场文书
酒店前台接待岗位职责
2013/12/03 职场文书
关于赌博的检讨书
2014/01/24 职场文书
城建学院毕业生自荐信
2014/01/31 职场文书
写给老婆的检讨书
2014/02/21 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
优秀工作者事迹材料
2014/12/26 职场文书
详解nginx.conf 中 root 目录设置问题
2021/04/01 Servers
Django路由层如何获取正确的url
2021/07/15 Python