這是很簡單的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/ –