您正在使用fancybox v2.0.6,所以其他解決方案可能已過時。
要實現你想要的簡單,只需要:
1)。加載所有的JavaScript文件的順序如下:
- jQuery的
- 的fancybox js文件
- 的fancybox媒體js文件(你的助手目錄中找到)
2)。加載fancybox的css文件
3)。設置html
您想在喜歡的fancybox打開每個類型的對象:
圖片:
<a class="fancybox" data-fancybox-group="gallery" href="image01.jpg"><img src="image01thumb.jpg" alt="" /></a>
<a class="fancybox" data-fancybox-group="gallery" href="image02.jpg"><img src="image02thumb.jpg" alt="" /></a>
如果你的圖像href
是一樣的東西href='/attachments/76'
的fancybox不知道它是一個image
因爲缺乏擴展(jpg,png,gif)。類fancybox.image
添加到您的HTML這樣的:
<a class="fancybox fancybox.image" data-fancybox-group="gallery" href="/attachments/76"><img src="thumb76.jpg" alt="" /></a>
Ajax內容(HTML或TXT文件):
<a class="fancybox fancybox.ajax" data-fancybox-group="gallery" href="sample.html">open ajax 1</a>
<a class="fancybox fancybox.ajax" data-fancybox-group="gallery" href="sample.txt">open ajax 2</a>
(注意,第二類fancybox.ajax
......同時,你可以使用,而不是在我的例子文本)
通過iframe的外部網頁縮略圖:
<a class="fancybox fancybox.iframe" data-fancybox-group="gallery" href="http://domain.com/page.html">open page in iframe mode</a>
<a class="fancybox fancybox.iframe" data-fancybox-group="gallery" href="http://other.com/page2.html">open other page in iframe mode</a>
(注意,第二類fancybox.iframe
)
Youtube視頻:
<a class="fancybox" data-fancybox-group="gallery" href="http://www.youtube.com/watch?v=2matH4B9bTo">open youtube video</a>
(請注意,我們不需要添加任何額外的類,因爲我們正在使用fancybox媒體助手)
注意:我們使用的是data-fancybox-group="gallery"
屬性來設置相同的畫廊內的所有元素(你應該設定一個HTML5 DOCTYPE
雖然)
最後,簡單地使用這個腳本:
$(".fancybox").fancybox();
你可能要添加像其他API選項:
$(".fancybox").fancybox({
// other API options
padding: 0 // optional etc.
});
如果您還想要使用buttons
或thumbnails
幫手不要忘記加載正確的js和css文件。同時添加helpers
選項,你的腳本,如:
$(".fancybox").fancybox(
helpers : {
buttons : {},
thumbs : {
width : 50,
height : 50
}
}
});
最後一個音符:這是的fancybox v2.0.6 +
我認爲這會工作,但我有我的東西到底掙扎。我檢索存儲在url中的圖像,因此'href'格式爲'href ='/ attachments/76''。如果點擊圖像,Fancybox甚至不會觸發,但如果我點擊任何帶有「fancybox fancybox.iframe」類的任何東西,它都可以正常工作。有關如何解決此問題的任何想法?任何其他時間,我必須明確地將fancybox'type'設置爲'image'。 – Zajn
,因爲你的網址沒有圖像擴展名(jpg,png,gif),你必須告訴fancybox它是一個圖像。你可以爲這些圖像創建一個單獨的腳本,並添加選項'類型:「image」'像'$(「。fancy_image」)。fancybox({type:「image」});' – JFK
這就是我認爲的問題,但現在當我添加'$('。fancy_image).fancybox({type:「image」});'在我的普通'$(「。fancybox」)。fancybox();'腳本後,圖片仍然不會顯示。我需要在第一次打電話給fancybox時改變一些事情嗎? – Zajn