April 5,2006
Lightbox JS --- 光箱特效使用教學
Lightbox JS是由Lokesh Dhakae所開發(目前最新的版本是2.02版),中文翻譯有人翻成「光箱特效」,姑且不論名字,它的作用其實就是當你在載入圖片時,能夠有遮罩的效果,也不需要另開頁面來呈現,效果方面也是蠻炫的,可以用來美化你的Blog,請按下面的圖片先來體驗一下它的效果。
若無法觀看,請至「官方網站體驗特效」
請先至「官方下載」或「按此下載」,解壓後在檔案內含有一個index.htm,說明在一般網頁上如何使用此特效,蠻淺顯易懂的,我就不多贅述;以下針對如何在網誌上使用做重點說明:
【準備工作】下載後需要修改的檔案有下面幾個地方:(紅色字部分是原來檔案就有的)--- 修改完後,把js、css、內定圖片放到網路上(範例圖片、index不用),若不知道要放什麼,最簡單的方法就是把壓縮檔的檔案全部上傳到網路空間中。
- lightbox.js:在此檔案中,可以找到「images/loading.gif」、「images/closelabel.gif」等關鍵字,loading.gif和closelabel.gif是原始軟體提供的圖檔,光箱效果本身會用到這幾個圖,所以你要和檔案一起上傳到網路空間中,接著你要把「images/loading.gif」、「images/closelabel.gif」替換成你目前圖片的所在位置,一般來說你會上傳到某個免費空間上,你就填入圖片的URL就行了,例如:「images/loading.gif」改成「http://ABC/loading.gif」,簡單的說,就是要讀取loading.gif的網路空間位址。
接著有一個參數 var resizeSpeed,這是控制特效的速度,預設值是7,你可以自由調整(0~10) - lightbox.css:同上,將「../images/prevlabel.gif」、「../images/nextlabel.gif」替換成圖片的所在位置。
- 請將下面語法「紅色」的部分,換成檔案上傳後的位址,然後將這四句語法放到「適合的地方」。這裡所謂「適合的地方」是因為每個網誌不同,你要放在可以套用到每篇文章的地方,不然可能會造成只有某篇文章可以套用特效,其他文章卻不行,以Yam為例,你可以放在 Blog管理頁面-->Blog基本設定-->「說明」欄位中。
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js?load=effects" type="text/javascript"></script>
<script src="js/lightbox.js" type="text/javascript"></script>
【如何使用】圖片套用的語法如下所示(主要是rel="lightbox"的部分):
<a href="大圖位置" rel="lightbox" title="設定標題"><img src="小圖位置" alt="提示文字" border="0"/></a>
2.02版的Lightbox JS提供了群組展示的功能,只要使用圖片將之設成群組,就可以方便的看多張圖片,在看圖的時候,可以將滑鼠移到圖片的左半部或右半部,就會自動顯示上一張、下一張的提示,可點下面的圖片體驗看看。
【設定群組的方法】將連結上rel="lightbox"改成rel="lightbox[自定名稱]",群組名稱要用中括號包起來。
範例:將三張圖片設定為「jinn」的群組
<a href="圖片1.jpg" rel="lightbox[jinn]">圖片 #1</a>
<a href="圖片2.jpg" rel="lightbox[jinn]">圖片 #2</a>
<a href="圖片3.jpg" rel="lightbox[jinn]">圖片 #3</a>
【懶人套用法】若你覺得太麻煩了,那我提供我上傳好的檔案給大家使用,但有一個風險,就是若我把檔案刪除了,你也會存取不到,請自行考量吧。
- 不用下載或上傳任何檔案,上述的「準備工作第一、二步」,你可以省略不做。
- 準備工作的第三步,改成下面語法:
- 使用的方法不變:單圖顯示或群組圖片的使用方法一樣。
圖片來源:Lightbox JS官方網站

引用URL
如果說我有
文章A~要放圖1、圖2
文章B~要放圖3、圖4
要怎麼搞啊???
乍看之下很複雜,其實你耐心看一下,就會發現很簡單的。
你的需求是二篇文章中各放二張圖,準備工作都是一樣,只要做一次就行了,至於要顯示,就要看你是要單張顯示或你想把這二張圖用群組的方式顯示。
若是圖1~圖4你都是要單張顯示,那就是用:
[a href="大圖位置" rel="lightbox" title="設定標題">[img src="小圖位置" alt="提示文字" border="0"/>[/a>
若圖1、圖2要在文章A以群組方式顯示(圖3、圖4也是一樣),則用:
[a href="圖片1.jpg" rel="lightbox[91]">圖片1[/a>
[a href="圖片2.jpg" rel="lightbox[91]">圖片2[/a>
PS:請把上面的[換成小於符號
我在第一步就看不懂說
"將「images/loading.gif」、「images/closelabel.gif」替換成你目前圖片的所在位置"
是指在第三步的語法裡把這些東西換掉嗎
可是看起來你的意思又好像不是這樣
在lightbox.js檔案中,你可以找到images/loading.gif這個關鍵字,其實就是要把loading.gif這個圖片的位址換掉,假設你把檔案上傳到http://ABC/loading.gif,那麼在lightbox.js中就把images/loading.gif換成http://ABC/loading.gif!
而步驟三指的是lightbox.js本身這個檔案的位置,和步驟一所指的圖片位置不一樣!希望你看的懂囉!我有修改教學檔了,你再看一下
步驟1那邊我就開始霧煞煞了。。。
進入Lightbox JS v2.02\js\lightbox.js
在Configuration的下面變更圖片位置
var fileLoadingImage = "images/loading.gif";
var fileBottomNavCloseImage = "images/closelabel.gif";
--------------------------------------------------------
images/loading.gif是代表圖1嗎?
images/closelabel.gif是代表圖2嗎?
那圖3、4要放在哪裡啊???語法又是什麼啊???
我現在是完全卡在lightbox.js&lightbox.css的步驟裡轉不出來的說><
--------------------------------------------------------
你回覆中敎的是BLOG文章內貼圖的語法,
講的粉詳細,我以了解嚕,謝謝捏︿︿
看來大家都有這個問題,我有修改教學檔了,你再看一下...
loading.gif、closelable.gif都是程式內定的圖片啦,不是你要顯示的圖片,我說換掉的意思是說,你要把「images/loading.gif」這幾個字,換成loading.gif上傳到網路空間的位址,這樣你懂了嗎?
那"網路空間位置"的名稱是自己命名嗎?
以上傳YAHOO為例,那images/loading.gif是不是要改成
http://hk.geocities.com/baby9e/網路空間位置/loading.gif
是的..我只是把全部的字寫出來而已,就像你幫我上傳CSS圖到網路上一樣,簡單的說,就是要可以讀的到上傳後的loading.gif,重點在loading.gif,而不是images,images是原本壓縮檔內的目錄結構
如:
http://hk.geocities.com/baby9e/Lightbox/images/loading.gif
http://hk.geocities.com/baby9e/Lightbox/images/closelabel.gif
再將css&js資料夾內的圖片更改位置就OK嚕~是不?!
是的....終於了解了....今天才了解我的教學還真不容易學...哈!難怪很多人都說有看沒有懂...謝謝你的問題呀,這樣別人才能了解我的教學...
prevlabel.gif、nextlabel.gif也是一樣的做法喔...
如果是香港YAHOO,你可以先將資料夾上傳後,找出那4個圖片位置,再到lightbox.css&lightbox.js裡變更圖片網址。
因為上傳空間不同、功能不同,所以一堆人就卡在換圖片網址那囉︿︿
不過還是要謝謝JINN大,都會找些好玩的東西來給我們玩︿︿
感恩!感恩!!
特效只給我顯示一次...之後就變成"點小圖看大圖"了555~~~~~
我還以為我程式碼錯誤、檔案大寫錯誤...害我又是重傳又是重改程式碼...
結果還是一樣...SXXT!!
嗯...傳送鍵搬到上面囉︿︿
Xuite要發表後才會正常顯示,用"預覽"才怪怪的︿︿
Sorry,目前你的網誌連不上去,所以我看不到,不過會造成有時有,有時沒有的情況發生,我想應該是在讀取js檔時,還沒全部載入的關係(純屬猜測),你可以等久一點試試看,或者你有使用其他的js檔衝突到了?
每次都教人家那麼多的"好物"!
搞得人家心癢癢的受不了...
害人家的Blog上又多了一些"JavaScript"了啦!
你真是壞死了~壞、壞、壞!
用過真的讚!範例:
http://tonychou.blogspot.com/2006/04/blog-post_11.html
http://tonychou.blogspot.com/2006_04_01_tonychou_archive.html
真是太屌了啦,很像是"Flash"產生的效果呢~
不知道你下次又會教什麼好物了呢?真期待...不過又怕受傷害喔~
耶...這樣說就不對了,我也常到你那偷東西呢....我有問題問你喔..留在你的blogger中....
我高中的綽號.....也叫Nike耶...哈...^_^
這效果用來展示照片真的很炫~
但我有個問題是~總是要按幾次圖片後~效果才會出現~^^|||
但進入繼續閱讀後~就可以嚕~~
但查不出首頁那個程式造成的問題~^^|||
http://blog.roodo.com/afala/archives/1422063.html
會造成多按幾下才會有效果的原因,應該是JS檔還沒載入完成,你注意看當進到文章內的時候,若全部的檔案已經載入了,應該可以使用特效的!
而你的首頁需要等待很久才會全部載入(IE左下角一直呈現載入狀態),但當全載入完後,仍不能呈現特效,語法應該沒錯(因為進文章時可以呈現)...,請問你把「步驟3」的語法放在那呢?
PS:晚上又試了一次,你的首頁可以呈現效果了,若不行試著重新載入看看
你發現的[一直呈現載入狀態]~我也有注意到但時有時沒~查不出什麼東西沒載入~
但還是謝謝你嚕~~順便介紹你剛剛我逛到的東西~
http://boxover.swazz.org/example.html
看起好像不錯用~無奈我的英文~搞不太清楚~
你如果覺得不錯~不仿也可教教大家ㄚ~~^^
你提供的網站我有空會去看看的...謝謝!你的站有很多好玩的東西喔!改天去偷偷東西..^_^
http://blog.roodo.com/afala 效果出現的機率比較高~
但那個"/"有什麼差別嗎?我也沒改什麼ㄚ~一切都是一開始依你的教學設定的~
甚至連*.js都是連你弄好在pchome的~^^
看你用Firefox測試~偶也試嚕~之前用ie一直未載入是顯示yam...
用Firefox就正確指出是在載入flickr的東西~~
第一次覺得Firefox不錯用~~呵~~^^
我在a href="images/image-1.jpg" rel="lightbox[roadtrip]"裡面加上title="旅遊照片"的輔助說明文字,他在效果顯示出來之後,旅遊照片4個字是粗體字,請問要改成一般的字體必須到哪裡設定呢?
還有[roadtrip]裡面打的字會有什麼影響嗎?為什麼要加上[]?
再次謝謝你提供的好東西!!!我好喜歡! :)
那粗體字是內建的字型吧,你要改的話,應該要改程式,我稍微找了一下,應該是要改lightbox.css中的#imageData #caption{ font-weight: bold;},把bold改掉,這是我猜的啦,沒有時間測試,抱歉,你先試試,若不是的話你再向我說,我再試試!
另外,[]這個符號是一定要的,程式是靠這個來執行,至於roadtrip這個你可以自己改成你喜歡的字,但同一個群組的圖片,要改成同一個,這樣程式才會把這些圖片當成同一群組,不知道這樣說明妳清不清楚...
會不會有版權問題
根據官方網頁的說法,是可以用在商業用途的!是使用CC授權,完整英文說明如下:
Can I use the script in a commercial project?
Yes. It is licensed under the Creative Commons Attribution 2.5 License. A donation would be nice, hint hint.
http://creativecommons.org/licenses/by/2.5/
我可不可以引用在加點補充呢?要你答應我才會用喔^^"
你可以大方的引用呀,只要標示出原文章的出處(就是這一篇文章網址、作者)就行啦...你要加說明的話,那更好啦...應該會讓訪客更容易了解..^_^
嗚嗚~
(可是同樣在fc2 blog引用其他的文章卻沒問題~)
貼了好幾次都不行ˊ_ˋ我好笨...
明明就是http://cgi.blog.roodo.com/trackback/1368531
這個沒錯ˊˋ你看看~~
http://blog71.fc2.com/c/cathyjin/file/why.jpg
呵!看起來不是你笨啦!也許是系統的關係,我想不要緊啦...你文章已經有指明出處啦,可以不用引用,但引用的好處是可以增加你文章的人氣,訪客可以從我這裡連結到你那....看你自己囉.. ^_^
粗體字的確是改那邊!要把bold改成light 就會變細的字了
謝謝Jinn!^.^
你的背景是整個版面都是黑色?還是圖片開啟的時候是黑色呢?若是開啟的時候是黑色,那是做一個遮罩的效果,所以是正常的,我看你目前的網誌,效果應該是正確的....
若不是上述的情況,而是你在沒點圖片時,就會呈現黑色,那應該就有問題...那就是麻煩你把問題描述清楚一點,或者有實例可以參考一下...理論上不會造成這種問題才對
但是應該試辦透明的才對阿?
我有時候看是正常,有時候又會沒有透明的效果耶...
desk3
[url=http://wwbsweqfegfaa.host.com]desk4[/url]
[link=http://wwbaweqfegfaa.host.com]desk6[/link]

請問如果我想要讓這個效果變化一下
在××旁加個網址點下去可以連結,這
樣是要在js語法做更改嗎??
