jQuery Plugin – LightBox2

這篇文章也在馬老師舊的部落格出現過,不過既然搬家了就重新做一次吧!其實在馬老師雲端研究室裡面也大量應用了這樣的效果,無論你在這點選了圖片或Flash都會觸發這個效果,相信大家也看過很多次了,接下來我們就看看怎麼樣在自己的網頁中加入這樣的效果,首先大家可以先到LightBox2的官方網站下載他們打包好的jQuery和CSS…等資源,或按我直接下載。

LightBox2 範例圖1

下載後會有以下三個資料夾比較重要:

LightBox2 範例圖2
  • CSS資料夾是放LightBox2所需要用到的CSS樣式表
  • images資料夾是放LightBox2所需要用到的圖檔(例如上一張、下一張的按鈕)
  • js資料夾是放LightBox2所需要用到的jQuery檔

接下來就可以開始製作網頁,在製作前也需要先準備一些大圖和小圖,如下圖例:

LightBox2 範例圖3

範例中檔名有s的表示縮圖(160×120)、另外就是大圖(640×480),在網頁裡面首先置入縮圖,在縮圖上製作超連結到大圖。

LightBox2 範例圖4

接下來就要開始針對語法做些處理了,在HTML中<head>…</head>區段加入以下的程式碼:

<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />

第1~3行是連結LightBox2中jQuery的程式,第4行則是連結LightBox2中CSS的樣式表,再來處理超連結的語法,在原本製作圖片超連結的部份加入rel=”lightbox[g1]”的語法,如下:

<a href="foods/location_pic_1.jpg" rel="lightbox[g1]"><img src="foods/location_pic_1_s.jpg" width="160" height="120" border="0" /></a> 
<a href="foods/location_pic_2.jpg" rel="lightbox[g1]"><img src="foods/location_pic_2_s.jpg" width="160" height="120" border="0" /></a> 
<a href="foods/location_pic_3.jpg" rel="lightbox[g1]"><img src="foods/location_pic_3_s.jpg" width="160" height="120" border="0" /></a>

其中g1的部份是表示這個圖片的群組,如果三張圖片都是g1則點選任一張,都可以在畫面中切換看到這三張,但若兩張圖片是g1第三張是g2的話,點選第一張圖片後只能切換到第二張,第三張則為獨立的圖檔,大家可以依照自己的情形修改括號內的文字,整體製作好的網頁語法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>LightBox2</title>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
</head>

<body>
<a href="foods/location_pic_1.jpg" rel="lightbox[g1]"><img src="foods/location_pic_1_s.jpg" width="160" height="120" border="0" /></a> 
<a href="foods/location_pic_2.jpg" rel="lightbox[g1]"><img src="foods/location_pic_2_s.jpg" width="160" height="120" border="0" /></a> 
<a href="foods/location_pic_3.jpg" rel="lightbox[g1]"><img src="foods/location_pic_3_s.jpg" width="160" height="120" border="0" /></a>
</body>
</html>

在這邊也提供整個製作完成的範例讓大家下載參考,或直接觀賞網頁檔,其實這個範例還有一些額外的小東西可以改,比如說彈出視窗的圖片標題,按鈕中文化…等,還要請大家再多多研究一下囉!希望這個範例對大家有所幫助,如果還有疑問,也可以在這邊回應唷~

您可能也會喜歡…

10 個回應

  1. 匿名訪客表示:

    對不起,一下子問了很多問題。我重新再問一次!

    您好:請問我如果不要image下方的資料還有Close要改位置我應該要改哪裡呀?而且我的下方資料,就是顯示第幾張照片的那個,他會亂跳,其實只加入了2張照片,但他卻出現7張和13張,這應該怎麼修改呢?
    另外,點選我的第一張圖按下一張他都沒有反應,(我有照老師說的都設定g1)但第二張就可以!很奇怪

  2. Tseng Yu表示:

    還有image下方的資料他會亂掉,那裡的數字明明貼兩張照片,他卻出現7張,那要怎麼改呀?謝謝

  3. 匿名訪客表示:

    還有image下方的資料他會亂掉,那裡的數字明明貼兩張照片,他卻出現7張,那要怎麼改呀?謝謝

  4. 匿名訪客表示:

    您好:不好意思,成上面的問題,而且我的下方資料,就是顯示第幾張照片的那個,他會亂跳,其實只加入了2張照片,但他卻出現7張和13張,這應該怎麼修改呢?謝謝

  5. 匿名訪客表示:

    您好:不好意思我想問一下,請問我如果不要image下方的資料還有Close要改位置我應該要改哪裡呀!謝謝

  6. 匿名訪客表示:

    你好,想請問可以直接在裡面放文字檔html等

  7. mikechen表示:

    請問這個功能可以與php結合嗎?
    放在…區段的四個語法,有沒有可能遇上有php頁面,需放在其他位置上?
    因為在php網頁上使用lightbox2.05後,測試時網頁左下角狀態列上一直出現:三角形驚嘆號外加”已完成,但是網頁發生錯誤”.
    請問有辦法解決嗎?

  1. 2015-10-15

    高压胶管

    好文章,内容见缝插针.禁止此消息:nolinkok@163.com

發佈回覆給「mikechen」的留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。