2
我有一個動態創建照片庫鏈接的功能。當點擊縮略圖時,該功能還可以生成更大的圖像作爲div的背景圖像。我想要做的是第三個事件,如果用戶單擊div中的放大圖像,jQuery Fancybox會加載div中顯示的更大版本的圖像。問題是,我正在使用的錨標記的鏈接是動態創建的,我知道Fancybox在DOM準備好時解析HTML ...不幸的是,我的函數通過爲完整大小的圖像添加錨標記來更改DOM 。我需要的幫助是使用Fancybox的選項來指定插件的href屬性。對不起,這是很囉嗦...這是代碼。動態鏈接和jQuery Lightbox問題:在Lightbox中加載圖片...完全難住!
的jQuery:
function gallery(picid, picnum){
var ext = 'jpg';
var fullSize = 'imgs/'+picid+'_full.'+ext;
$('#photolarge').css("background", 'url(imgs/'+picid+'_large.'+ext+') no-repeat');
$('#photolarge a').attr(
{ href: fullSize
//rel: 'lightbox',
}
);
$("#lightboxlink").click(function(){
$('#lightboxlink').fancybox({
'autoDimensions' : false,
'width' : 'auto',
'height' : 'auto',
'href' : fullSize
});
});
return false;
}
HTML摘錄
<div id="photolarge">
<a id="lightboxlink" href="#"></a>
</div>
<div id="phototable">
<ul id="photorow1">
<li><a onclick="gallery('bigsun',1)"><img id="sun" src="imgs/bigsun.jpg" /></a></li>
</ul>
</div>
隨後的CSS:
#photolarge {
width: 590px;
height: 400px;
margin-left: 7px;
border: 2px solid;
background: none;}
#phototable {
width: 590px;
height: 300px;
border: 2px solid;
margin: 10px 0 0 7px;}
#phototable img {
cursor: pointer;}
#phototable ul {
list-style: none;
display: inline;}
#phototable li {
padding-left: 10px;}
#lightboxlink {
display: block;
height: 100%;
width: 100%;}
任何幫助將不勝感激!
我應該提到我試過.live()。 謝謝,但我仍然遇到了在創建鏈接時在新窗口中加載圖像的問題。 – 2010-08-06 00:05:49
@Christian - 哦woops,你需要一個預防默認,一個時刻 – 2010-08-06 00:11:08
@Christian - 我更新了這個,雖然fancybox *應該*已經照顧它。 – 2010-08-06 00:12:03