我正在编写一个 Lightbox/Thickbox 画廊风格的程序,我需要发送用户单击的内容以在灯箱中加载正确的内容。
这是我的文件:
show-hide-lightbox.js - Ajax 请求加载内容 o lightbox.jsp(我不记得如何将变量传递给)
function showLightbox(){
var ajaxObject = null;
if(window.XMLHttpRequest){
ajaxObject = new XMLHttpRequest();
}else if(window.ActiveXObject){
ajaxObject = new ActiveXObject("Microsoft.XMLHTTP");
}
if(ajaxObject != null){
ajaxObject.open("GET","lightbox.jsp",true);
ajaxObject.send();
}else{
alert("You do not have a compatible browser.")
}
ajaxObject.onreadystatechange = function(){
if (ajaxObject.readyState == 4 && ajaxObject.status == 200){
document.getElementById("ajaxResult").innerHTML = ajaxObject.responseText;
}
};
}
function hideLightbox(){
document.getElementById("commentFormBG").style.display = "none";
document.getElementById("commentFormFG").style.display = "none";
}
lightbox.jsp(要加载到 html 上的 div 中的内容)
<div id="commentFormFG">
<div class="commentFormTitle">Title of Lightbox</div>
</div>
test.html - 只是一个页面,其中包含 div id=ajaxResult 供 ajax 加载
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body>
<div id=ajaxResult></div>
<img onclick="showLightbox()" src="http://www.swanderphotography.com/wp-content/uploads/2013/07/2013Jul06-9917.jpg">
<script type="text/javascript" src="show-hide-lightbox.js"></script>
</body>
</html>
和一个最小的样式表
#commentFormBG{
width: 100%;
height: 100%;
background-color: #000;
opacity: .8;
position: absolute;
top: 0;
left: 0;
cursor: pointer;
}
#commentFormFG{
width: 80%;
height: 80%;
background-color: #fcfcfc;
position: absolute;
top: 10%;
left: 10%;
}
我想发送点击图像的地址,但我的 php 已经生锈了,我不确定最简单的方法是什么。理想情况下,您单击缩略图并加载图像的大版本。