[原创]居中显示大图带遮罩层的简单jQuery插件imgBox
最近做的一个项目中要查看大图,于是想自己封装一个jQuery插件,不兼容firefox和chrom浏览器,希望博友能帮忙修改完善
点击下载:/Files/Jaylong/imgbox.zip
先看效果:
jQuery代码:

(function ($) {
$.fn.imgBox = function (opts){
var width = $(window).width();
var height = $(window).height();
var defaults={idName:"#lightbox"};
var obj= $.extend({}, defaults, opts);
var id = $(obj.idName)
id.hide();
$(".imgbox").click(function (e) {
var img = new Image();
img.src = $(this).attr("href");
$("*").stop(); //停止所有正在运行的动画
id.hide();
// var html = "<div id=\"lightbox\"><img src=\"" + img.src + "\" /><div id=\"close\"></div></img><div>" + $(this).attr("title") + "</div></div>"
// $("body").append(html);
$("img", id).attr("src", img.src);
$("div:eq(1)", id).html($(this).attr("title"));
//追加一个层,使背景变灰
$("body").append("<div id='greybackground'></div>");
$("#greybackground").css({
opacity: "0.5",
height: "100%",
width: "100%",
top: 0,
left: 0,
position: "absolute",
backgroundColor: "#9c9c9c"
});
//设置样式
id.css({
position: "absolute",
border: "5px solid #ccc",
"text-align": "center",
width: img.width
})
$("#close", id).css({
position: "absolute",
top: -13 + "px",
left: img.width - 10 + "px",
width: "26px",
height: "26px",
background: "url(Images/fancybox.png) -42px 0",
cursor: "pointer"
})
$("div:eq(1)", id).css({
"font-size": "12px", "font-family": "Arial", margin: "5px"
})
id.css({ "top": (height - img.height) / 2 + "px", "left": (width - img.width) / 2 - 17 + "px", "z-index": 1000 }).fadeIn("slow");
})
$("#close", id).click(function () {
id.hide();
$("#greybackground").remove();
})
}
}) (jQuery)
$.fn.imgBox = function (opts){
var width = $(window).width();
var height = $(window).height();
var defaults={idName:"#lightbox"};
var obj= $.extend({}, defaults, opts);
var id = $(obj.idName)
id.hide();
$(".imgbox").click(function (e) {
var img = new Image();
img.src = $(this).attr("href");
$("*").stop(); //停止所有正在运行的动画
id.hide();
// var html = "<div id=\"lightbox\"><img src=\"" + img.src + "\" /><div id=\"close\"></div></img><div>" + $(this).attr("title") + "</div></div>"
// $("body").append(html);
$("img", id).attr("src", img.src);
$("div:eq(1)", id).html($(this).attr("title"));
//追加一个层,使背景变灰
$("body").append("<div id='greybackground'></div>");
$("#greybackground").css({
opacity: "0.5",
height: "100%",
width: "100%",
top: 0,
left: 0,
position: "absolute",
backgroundColor: "#9c9c9c"
});
//设置样式
id.css({
position: "absolute",
border: "5px solid #ccc",
"text-align": "center",
width: img.width
})
$("#close", id).css({
position: "absolute",
top: -13 + "px",
left: img.width - 10 + "px",
width: "26px",
height: "26px",
background: "url(Images/fancybox.png) -42px 0",
cursor: "pointer"
})
$("div:eq(1)", id).css({
"font-size": "12px", "font-family": "Arial", margin: "5px"
})
id.css({ "top": (height - img.height) / 2 + "px", "left": (width - img.width) / 2 - 17 + "px", "z-index": 1000 }).fadeIn("slow");
})
$("#close", id).click(function () {
id.hide();
$("#greybackground").remove();
})
}
}) (jQuery)
前台调用代码:

<!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>
<style type="text/css">
.imgUl li{ float:left; margin-left:20px; list-style:none; margin-top:20px; border:5px solid #ccc;}
</style>
<script src="Js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="Js/imgbox.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//调用 $(".imgbox").imgBox({ idName: "#lightbox" })
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
<style type="text/css">
.imgUl li{ float:left; margin-left:20px; list-style:none; margin-top:20px; border:5px solid #ccc;}
</style>
<script src="Js/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="Js/imgbox.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//调用 $(".imgbox").imgBox({ idName: "#lightbox" })
})
</script>
</head>
<body>
<!--测试图片显示效果-->
<div>
<p>测试图片显示效果----点击下面图片显示大图效果</p>
<ul class="imgUl">
<li class="imgbox" href="testImg/1.jpg" title="01图片"><img src="testImg/1-s.jpg" title="01"/></li>
<li class="imgbox" href="testImg/2.jpg" title="02图片"><img src="testImg/2-s.jpg" title="02"/></li>
<li class="imgbox" href="testImg/3.jpg" title="03图片"><img src="testImg/3-s.jpg" title="03"/></li>
<li class="imgbox" href="testImg/4.jpg" title="04图片"><img src="testImg/4-s.jpg" title="04"/></li>
<li class="imgbox" href="testImg/5.jpg" title="05图片"><img src="testImg/5-s.jpg" title="05"/></li>
</ul>
<ul class="imgUl" style="clear:left;">
<li class="imgbox" href="testImg/6.jpg" title="06图片"><img src="testImg/6-s.jpg" title="06"/></li>
<li class="imgbox" href="testImg/7.jpg" title="07图片"><img src="testImg/7-s.jpg" title="07"/></li>
<li class="imgbox" href="testImg/8.jpg" title="08图片"><img src="testImg/8-s.jpg" title="08"/></li>
<li class="imgbox" href="testImg/9.jpg" title="09图片"><img src="testImg/9-s.jpg" title="09"/></li>
</ul>
</div>
<div id="lightbox">
<div id="close"></div>
<img src="" /></img>
<div>
</div>
</div>
<p style="clear:left; margin-top:30px;"> <a href="www.51yyx.com">点击查看更多插件效果!!!</a></p>
</body>
</html>
</script>
</head>
<body>
<!--测试图片显示效果-->
<div>
<p>测试图片显示效果----点击下面图片显示大图效果</p>
<ul class="imgUl">
<li class="imgbox" href="testImg/1.jpg" title="01图片"><img src="testImg/1-s.jpg" title="01"/></li>
<li class="imgbox" href="testImg/2.jpg" title="02图片"><img src="testImg/2-s.jpg" title="02"/></li>
<li class="imgbox" href="testImg/3.jpg" title="03图片"><img src="testImg/3-s.jpg" title="03"/></li>
<li class="imgbox" href="testImg/4.jpg" title="04图片"><img src="testImg/4-s.jpg" title="04"/></li>
<li class="imgbox" href="testImg/5.jpg" title="05图片"><img src="testImg/5-s.jpg" title="05"/></li>
</ul>
<ul class="imgUl" style="clear:left;">
<li class="imgbox" href="testImg/6.jpg" title="06图片"><img src="testImg/6-s.jpg" title="06"/></li>
<li class="imgbox" href="testImg/7.jpg" title="07图片"><img src="testImg/7-s.jpg" title="07"/></li>
<li class="imgbox" href="testImg/8.jpg" title="08图片"><img src="testImg/8-s.jpg" title="08"/></li>
<li class="imgbox" href="testImg/9.jpg" title="09图片"><img src="testImg/9-s.jpg" title="09"/></li>
</ul>
</div>
<div id="lightbox">
<div id="close"></div>
<img src="" /></img>
<div>
</div>
</div>
<p style="clear:left; margin-top:30px;"> <a href="www.51yyx.com">点击查看更多插件效果!!!</a></p>
</body>
</html>
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具