像这种弹出透明背景层效果很常见了,除部分区域可以操作外其他区域不能操作,目前有提供插件,完全可以实现此种效果。
主要需要其中两个JS,分别为jquery.js和tipswindown.js两个文件。
下面为调用JS方法的主要代码,命名为index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>TipsWindown Demo By [Await]</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<link rel="stylesheet" href="http://leotheme.cn/wp-content/uploads/Example/js/tipswindown/tipswindown.css" type="text/css" media="all" />
<script type="text/javascript" src="http://leotheme.cn/wp-includes/js/jquery/jquery.js"></script>
<script type="text/javascript" src="tipswindown.js"></script>
<style type="text/css">
body {
font: 12px 'Microsoft Yahei',arial,SimSun,sans-serif;
margin: 0 auto;
padding: 0px;
text-align: center;
color: #555;
background: #fff;
}
h1,h2,h3,h4,h5,h6,div,p,ul,ol,dl,dd,dt,abbr,form,input,img { margin: 0; padding: 0; }
img { border: none; }
h1 { width: 100%; text-align: center;}
a { color: #096FB7; text-decoration: none; }
a:hover { text-decoration: underline; }
#container { margin: 0 auto; margin-top: 20px; padding: 20px; width: 600px; text-align: left; border: 20px solid #DDD; }
h3{ margin: 10px 0;}
ol li { list-style: ; margin: 20px 0 0 50px; }
div.update li {list-style: none; padding-left: 30px; color: #fc0;}
blockquote { width: 500px; margin: 10px 0; padding: 10px; border: 2px dashed #F8B3D0; background-color: #FFF5FA;}
</style>
<script type="text/javascript">
var $=jQuery;
$(document).ready(function() {
$("#text1").click(function() {
tipsWindown("标题","text:提示信息内容","250","150","true","","true","text")
});
$("#text2").click(function() {
tipsWindown("标题","text:我不能拖动,而且还没遮罩背景","250","150","false","","false","text")
});
$("#text3").click(function() {
tipsWindown("标题","text:我不能拖动,但3秒钟后我会自动消失","250","150","false","3000","true","text")
});
$("#id1").click(function() {
tipsWindown("标题","id:testID","350","150","true","","true","id")
});
$("#img1").click(function() {
tipsWindown("图片","img:http://leotheme.cn/wp-content/uploads/2008/09/tr2xcp6yw4o5xebj9s.jpg","500","230","true","","true","img")
});
$("#url1").click(function(){
tipsWindown("标题","url:get?test.html","250","150","true","","true","text");
});
$("#iframe1").click(function(){
tipsWindown("标题","iframe:http://leotheme.cn","950","527","true","","true","leotheme");
});
});
</script>
</head>
<body>
<div id="container">
<h1>TipsWindown 1.1</h1>
<h3>关于插件:</h3>
<p>一个基于jQuery的弹出层。支持拖拽,支持内容为文字,图片,URL等!至于兼容性。在IE6下,弹出对像无法绝对固定。其他应该没啥大问题;</p>
<div class="update">
<h3>最新更新:(2010-08-12)</h3>
<ul>
<li>1.修正IE6下不能遮住下拉菜单的BUG</li>
<li>2.增加拖动时半透明效果</li>
</ul>
</div>
<h3>应用演示:</h3>
<ol>
<li>
弹出文本信息提示: <br />
<select name="">
<option value="" selected>我是下拉菜单</option>
</select>
<blockquote>tipsWindown("提示","text:提示信息内容","250","150","true","","true","msg")</blockquote>
<button id="text1">点击我弹出提示</button>
</li>
<li>
弹出页面中的某个ID的html: <br />
<blockquote>tipsWindown("标题","id:testID","300","200","true","","true","id")</blockquote>
<button id="id1">点击我弹出提示</button>
<div id="testID" style="display: none">
<p>我是测试ID里的内容</p> <br />
我换行了...
</div>
</li>
<li>
弹出图片: <br />
<blockquote>tipsWindown("图片","img:图片路径","250","150","true","","true","img")</blockquote>
<button id="img1">点击我弹出提示</button>
</li>
<li>
get加载一个.html文件(也可以是.php/.asp?id=4之类的): <br />
<blockquote>tipsWindown("标题","url:get?test.html","250","150","true","","true","text"); </blockquote>
<button id="url1">点击我弹出提示</button>
</li>
<li>
加载一个页面到框架显示:<br />
<blockquote>tipsWindown("标题","iframe:http://leotheme.cn","900","580","true","","true","leotheme"); </blockquote>
<button id="iframe1">点击我弹出提示</button>
</li>
<li>
弹出一个不能拖动且没有遮罩背景的文本信息层: <br />
<blockquote>tipsWindown("提示","text:提示信息内容","250","150","false","","false","msg")</blockquote>
<button id="text2">点击我弹出提示</button>
</li>
<li>
弹出一个不能拖动,三秒钟自动关闭的层: <br />
<blockquote>tipsWindown("提示","text:提示信息内容","250","150","false","3000","true","msg")</blockquote>
<button id="text3">点击我弹出提示</button>
</li>
</ol>
<h3>参数说明:</h3>
<table width="0" border="1" cellpadding="5" cellspacing="0">
<tr>
<th scope="col">顺序</th>
<th scope="col">参数</th>
<th scope="col">功能</th>
<th colspan="2" scope="col">备注</th>
</tr>
<tr>
<th scope="row">1</th>
<th scope="row">title</th>
<td>弹出层的标题</td>
<td colspan="2">必填,纯文本</td>
</tr>
<tr>
<th rowspan="5" scope="row">2</th>
<th rowspan="5" scope="row">content</th>
<td rowspan="5">弹出层的内容</td>
<td>text</td>
<td>文本内容</td>
</tr>
<tr>
<td>id</td>
<td>页面里某id的子标签</td>
</tr>
<tr>
<td>img</td>
<td>图片</td>
</tr>
<tr>
<td>url</td>
<td>get或post某一页面里的html,该页面要求只包含body的子标签</td>
</tr>
<tr>
<td>iframe</td>
<td>目标地址在框架显示</td>
</tr>
<tr>
<th scope="row">3</th>
<th scope="row">width</th>
<td>弹出层的宽</td>
<td colspan="2">必填,比如“200”。(不需要带px)</td>
</tr>
<tr>
<th scope="row">4</th>
<th scope="row">height</th>
<td>弹出层的高</td>
<td colspan="2">同 width</td>
</tr>
<tr>
<th scope="row">5</th>
<th scope="row">drag</th>
<td>是否可拖动</td>
<td colspan="2">必填,可选参数(true,false)</td>
</tr>
<tr>
<th scope="row">6</th>
<th scope="row">time</th>
<td>自动消失时间</td>
<td colspan="2">可不填,默认不自动关闭;参数可为空("")</td>
</tr>
<tr>
<th scope="row">7</th>
<th scope="row">showbg</th>
<td>是否显示遮罩层</td>
<td colspan="2">可不填,默认不显示(此项如填了,它前面的time也必须要填)</td>
</tr>
<tr>
<th scope="row">8</th>
<th scope="row">cssName</th>
<td>弹出层附加样式名</td>
<td colspan="2">可不填</td>
</tr>
</table>
<h3>相关下载:</h3>
<p><a href="http://leotheme.cn/wp-content/uploads/Example/js/tipswindown/tipswindown.js" title="JS文件下载">JS文件下载</a> | <a href="http://leotheme.cn/wp-content/uploads/Example/js/tipswindown/tipswindown.rar" title="完整包下载">完整包下载</a></p>
<p style="float: right;">最后更新日期:2009-11-24 By <a href="http://leotheme.cn/" title="Await">Await</a><br /></p>
<p style="clear: both;"></p>
</div>
<br />
</body>
</html>
OK,结合上面的JS和html文件就可以实现弹出透明层的效果了。