这是很简单的jQuery和jQueryUI的实现。
为了简便起见,我只这里包括5张图片http://jsfiddle.net/8kefF/2/
HTML:
<div>
<div class="clickThisPicture" data-content-id="1">
<img src="http://placehold.it/350x150" />
</div>
<div class="clickThisPicture" data-content-id="2">
<img src="http://placehold.it/350x150" />
</div>
<div class="clickThisPicture" data-content-id="3">
<img src="http://placehold.it/350x150" />
</div>
<div class="clickThisPicture" data-content-id="4">
<img src="http://placehold.it/350x150" />
</div>
<div class="clickThisPicture" data-content-id="5">
<img src="http://placehold.it/350x150" />
</div>
</div>
<div class="hiddenContent" data-content-id="1">Hidden content 1</div>
<div class="hiddenContent" data-content-id="2">Hidden content 2</div>
<div class="hiddenContent" data-content-id="3">Hidden content 3</div>
<div class="hiddenContent" data-content-id="4">Hidden content 4</div>
<div class="hiddenContent" data-content-id="5">Hidden content 5</div>
CSS:
.hiddenContent {
display:none;
}
.clickThisPicture {
float:left;
border:1px solid #000;
}
的Javascript:
$(document).ready(function() {
$('.clickThisPicture').on('click', function (event) {
var contentId = $(this).data('content-id');
$(".hiddenContent[data-content-id='" + contentId + "']").dialog({
modal: true,
resizable: false,
draggable: false,
closeOnEscape: false,
dialogClass: "no-close",
buttons: {
"Close": function() {
$(this).dialog("destroy");
}
}
});
});
});
编辑:我更新隐藏缺省值close
按钮的代码,以便在OP要求可伸缩性时每次销毁该元素,因此DOM中可能有100个/ 1000个额外元素会导致内存问题。最终。
因此,你想要显示一个单击图像时,所有图像的div。那些div中的内容呢?他们都是一样的..?什么是你现在有这些图像的HTML结构和CSS ..? –
@TJ结构可以修改,以适应 - 什么,我着的正视沿着其中显示图像的
除了@Gino Pane的回答,请看看http://jqueryui.com/dialog/ –