今天终于有时间把我以前写的一个jQuery插件进行整理,改进。这是一个模拟“模式对话框”的插件,该模式对话框共有三种皮肤,红、绿、蓝。页面滚动时 随着滚动条固定在屏幕的中央,模式对话框中的内容为两种,一是iframe引入,一是HTML语句插入。在网站开发中十分常用,使用该插件十分的简单。来 看一下运行效果。
图1红色界面
图2绿色界面
图3蓝色界面
![](https://i-blog.csdnimg.cn/blog_migrate/b926867e1ec31c5d47a250df5fca503b.jpeg)
图1红色界面
![](https://i-blog.csdnimg.cn/blog_migrate/3fec5929807db7f2dfdc363e8ab78c7b.jpeg)
图2绿色界面
![](https://i-blog.csdnimg.cn/blog_migrate/afc233645c599fe6d925299a340e5960.jpeg)
图3蓝色界面
插件使用
1、首先引入样式文件,详细代码如下所示:
<link href="images/blue/css.css" rel="stylesheet" type="text/css" id="showdialogcss" />
着里面的id一定不要忘记,他是用于切换插件皮肤的。
2、接着引入jQuery的js文件,具体代码如下:
<script src="js/jquery.js"></script>
3、最后引入模式对话框插件,具体代码如下:
<script src="js/dialog.js"></script>
4、编写用于点击的HTML代码,具体代码如下:
<div id="diagx">单击我--模式对话框</div>
5、编写JavaScript代码,为id为“diagx”的div绑定单击模式对话框,具体代码如下所示
<script type="text/javascript">
$(document).ready(function(){
$('#diagx').ShowDialog({
Width:"500", //模式对话框宽度500px
Height:"300", //模式对话框300px
Title:"模式对话框", //模式对话框上的标题
skin:"blue", //模式对话框皮肤样式 共有三种 1、blue;2、red;3、geen。
FrameURL:" http://www.baidu.com/ ", //iframe连接地址 当ContentFlag等于0时才起作用
ContentFlag:"0", //模式对话框显示iframe还是HTML内容标示 0是iframe;1是HTML内容
Contents:"<div>测试数据</div>" //模式对话框中显示的HTML内容
});
});
</script>
该插件的默认参数还有Intopacity表示模式对话背景(就是整个页面遮罩层)的透明度默认值为“0.2”。整个例子的全部HTML代码如下所示:
<!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=utf-8" />
<link href="images/blue/css.css" rel="stylesheet" type="text/css" id="showdialogcss" />
<script src="js/jquery.js"></script>
<script src="js/dialog.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#diagx').ShowDialog({
Width:"500",
Height:"300",
Title:"模式对话框",
skin:"blue",
FrameURL:" http://www.baidu.com/ ",
ContentFlag:"0",
Contents:"<div>测试数据</div>"
});
});
</script>
<title>模式对话框</title>
</head>
<body>
<div id="diagx">单击我--模式对话框</div>
</body>
</html>
<link href="images/blue/css.css" rel="stylesheet" type="text/css" id="showdialogcss" />
着里面的id一定不要忘记,他是用于切换插件皮肤的。
2、接着引入jQuery的js文件,具体代码如下:
<script src="js/jquery.js"></script>
3、最后引入模式对话框插件,具体代码如下:
<script src="js/dialog.js"></script>
4、编写用于点击的HTML代码,具体代码如下:
<div id="diagx">单击我--模式对话框</div>
5、编写JavaScript代码,为id为“diagx”的div绑定单击模式对话框,具体代码如下所示
<script type="text/javascript">
$(document).ready(function(){
$('#diagx').ShowDialog({
Width:"500", //模式对话框宽度500px
Height:"300", //模式对话框300px
Title:"模式对话框", //模式对话框上的标题
skin:"blue", //模式对话框皮肤样式 共有三种 1、blue;2、red;3、geen。
FrameURL:" http://www.baidu.com/ ", //iframe连接地址 当ContentFlag等于0时才起作用
ContentFlag:"0", //模式对话框显示iframe还是HTML内容标示 0是iframe;1是HTML内容
Contents:"<div>测试数据</div>" //模式对话框中显示的HTML内容
});
});
</script>
该插件的默认参数还有Intopacity表示模式对话背景(就是整个页面遮罩层)的透明度默认值为“0.2”。整个例子的全部HTML代码如下所示:
<!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=utf-8" />
<link href="images/blue/css.css" rel="stylesheet" type="text/css" id="showdialogcss" />
<script src="js/jquery.js"></script>
<script src="js/dialog.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#diagx').ShowDialog({
Width:"500",
Height:"300",
Title:"模式对话框",
skin:"blue",
FrameURL:" http://www.baidu.com/ ",
ContentFlag:"0",
Contents:"<div>测试数据</div>"
});
});
</script>
<title>模式对话框</title>
</head>
<body>
<div id="diagx">单击我--模式对话框</div>
</body>
</html>
该代码运行时,如果我们单击id为“diagx”的div层将弹出模式对话框。
插件的源代码可以在如下下载,欢迎大家下载使用,和改进,改进后不要忘记通知我一下,我也提高一下。谢谢。 下载
/Files/studyplay/diag.rar
看到了大家的评论,一部分朋友希望给对话框添加拖动效果,不知道这种效果有什么意义啊,因为我的div层是居中对齐的 滚动条滚动自动就会居中。有必要实现拖动效果吗?我觉得添加一个随窗口变化而居中的效果比较实用。不过我还是修改了另一个版本有拖动效果的版本。下载
窗口大小调整时,对话框的位置调整正在开发中...
根据网友们的意见进行了第三次修改,本次修改主要完善窗口大小改变时调整遮罩层的大小,以便完整覆盖页面;调整对话框的位置始终在页面中间。
添加两个参数IsDrag:表示是否允许拖动0不允许(默认值),1表示允许;IsAutoCenter:表示滚动条移动时是否始终保持在页面中心,0表示不保持,1表示保持。这样就可以根据不同的用户需求进行相应设置。 下载请点击
2009-9-30 再次修改 解决拖动遮罩层覆盖不全问题如下图 遗留问题div快速拖动时cpu占有率高问题???高手帮忙
点击下载
------------------------------------------------------
解决问题: 边框内部分透明看见底色
遗留问题: 还是效率问题 ,你不停的快速拖动 一会儿cpu会很高 -------------希望朋友们解决 邮箱: zhaoyang314@163.com msn:zhaoyang314@pbo365.yahoo.com.cn
/Files/studyplay/diag4.rar
插件的源代码可以在如下下载,欢迎大家下载使用,和改进,改进后不要忘记通知我一下,我也提高一下。谢谢。 下载
/Files/studyplay/diag.rar
看到了大家的评论,一部分朋友希望给对话框添加拖动效果,不知道这种效果有什么意义啊,因为我的div层是居中对齐的 滚动条滚动自动就会居中。有必要实现拖动效果吗?我觉得添加一个随窗口变化而居中的效果比较实用。不过我还是修改了另一个版本有拖动效果的版本。下载
窗口大小调整时,对话框的位置调整正在开发中...
根据网友们的意见进行了第三次修改,本次修改主要完善窗口大小改变时调整遮罩层的大小,以便完整覆盖页面;调整对话框的位置始终在页面中间。
添加两个参数IsDrag:表示是否允许拖动0不允许(默认值),1表示允许;IsAutoCenter:表示滚动条移动时是否始终保持在页面中心,0表示不保持,1表示保持。这样就可以根据不同的用户需求进行相应设置。 下载请点击
2009-9-30 再次修改 解决拖动遮罩层覆盖不全问题如下图 遗留问题div快速拖动时cpu占有率高问题???高手帮忙
![](http://www.cnblogs.com/Emoticons/msn/47_47.gif)
点击下载
![](https://i-blog.csdnimg.cn/blog_migrate/2626059badf0efec6da44fbdbbe78760.jpeg)
------------------------------------------------------
解决问题: 边框内部分透明看见底色
![](https://i-blog.csdnimg.cn/blog_migrate/cec01087b531c97b5b895d1257d9bbb3.jpeg)
遗留问题: 还是效率问题 ,你不停的快速拖动 一会儿cpu会很高 -------------希望朋友们解决 邮箱: zhaoyang314@163.com msn:zhaoyang314@pbo365.yahoo.com.cn
/Files/studyplay/diag4.rar
又修改一次 ,添加淡入淡出效果,具体使用见文件中的样例。/Files/studyplay/diag5.rar