jsGears.com 技術論壇 - AJAX, JavaScript, jQuery, 網站開發, 前端效能優化's Archiver

wmh 發表於 2008-9-28 21:51

Lytebox - 不需其他 library 即可獨立執行的相片瀏覽框

[img]http://jsgears.com/_icons/famfamfam/folder.gif[/img] Lytebox v3.22
[img]http://jsgears.com/_icons/famfamfam/icon_home.gif[/img] [url]http://dolem.com/lytebox/[/url]
[img]http://jsgears.com/_icons/famfamfam/comment.gif[/img] 由 Lightbox 改寫的相片瀏覽框,不需要 prototype.js 和 scriptaculous 即可獨立執行,還有很多新增的好用功能喔!

[b][size=4][color=Indigo]先睹為快[/color][/size][/b]

[jsg.example]
<script type="text/javascript" language="javascript" src="_lib/others/lytebox_v3.22/lytebox.js"></script>
<link rel="stylesheet" href="_lib/others/lytebox_v3.22/lytebox.css" type="text/css" media="screen" />

單一張相片的展示:<br />
<a href="http://lh5.ggpht.com/hunter.wu/RJP5bm9fABI/AAAAAAAAABg/Cxkl0Kcm7XA/s800/P3160018.JPG" rel="lytebox" title="老爸種的草莓,看起來鮮嫩多汁喔">
<img src="http://lh5.ggpht.com/hunter.wu/RJP5bm9fABI/AAAAAAAAABg/Cxkl0Kcm7XA/s144/P3160018.JPG" /></a><br /><br />

相片群組:<br />
<a href="http://lh3.ggpht.com/hunter.wu/RJP5bXqGABI/AAAAAAAAABY/JEgNtwOuDmk/s800/P3160016.JPG" rel="lytebox[flowers]" title="紫色小花"><img src="http://lh3.ggpht.com/hunter.wu/RJP5bXqGABI/AAAAAAAAABY/JEgNtwOuDmk/s144/P3160016.JPG" /></a>
<a href="http://lh4.ggpht.com/hunter.wu/RJP70LMcABI/AAAAAAAAAB4/qUZSse4mbQY/s800/P3160024.JPG" rel="lytebox[flowers]" title="白色小花"><img src="http://lh4.ggpht.com/hunter.wu/RJP70LMcABI/AAAAAAAAAB4/qUZSse4mbQY/s144/P3160024.JPG" /></a>
<a href="http://lh4.ggpht.com/hunter.wu/RJP70UG3ABI/AAAAAAAAACQ/55jJeGNiw8w/s800/P3160030.JPG" rel="lytebox[flowers]" title="黃色小花"><img src="http://lh4.ggpht.com/hunter.wu/RJP70UG3ABI/AAAAAAAAACQ/55jJeGNiw8w/s144/P3160030.JPG" /></a><br /><br />

也可以做自動展示的幻燈片效果:<br />
<a href="http://lh3.ggpht.com/hunter.wu/RKalAafTABI/AAAAAAAAARo/hgW2emjYJr0/s800/P1010355.JPG" rel="lyteshow[vacation]" title="東海岸風光 - 日出東方"><img src="http://lh3.ggpht.com/hunter.wu/RKalAafTABI/AAAAAAAAARo/hgW2emjYJr0/s144/P1010355.JPG" /></a>
<a href="http://lh4.ggpht.com/hunter.wu/RKalAQfwABI/AAAAAAAAARw/FdjJA31WEAY/s800/P1010401.JPG" rel="lyteshow[vacation]" title="東海岸風光 - 野花雜草"><img src="http://lh4.ggpht.com/hunter.wu/RKalAQfwABI/AAAAAAAAARw/FdjJA31WEAY/s144/P1010401.JPG" /></a>
<a href="http://lh3.ggpht.com/hunter.wu/RKalAmRSABI/AAAAAAAAAR4/PlWF4f2jZgk/s800/P1010536.JPG" rel="lyteshow[vacation]" title="東海岸風光 - 長喙天蛾"><img src="http://lh3.ggpht.com/hunter.wu/RKalAmRSABI/AAAAAAAAAR4/PlWF4f2jZgk/s144/P1010536.JPG" /></a>
<a href="http://lh5.ggpht.com/hunter.wu/RKalAo1QABI/AAAAAAAAASA/Q_S6QTQ6LYQ/s800/P1010695.JPG" rel="lyteshow[vacation]" title="東海岸風光 - 蔚藍海岸"><img src="http://lh5.ggpht.com/hunter.wu/RKalAo1QABI/AAAAAAAAASA/Q_S6QTQ6LYQ/s144/P1010695.JPG" /></a>
<a href="http://lh5.ggpht.com/hunter.wu/RKalAumsABI/AAAAAAAAASI/OUGgEIEXwWE/s800/P1010103.JPG" rel="lyteshow[vacation]" title="東海岸風光 - 日出東方"><img src="http://lh5.ggpht.com/hunter.wu/RKalAumsABI/AAAAAAAAASI/OUGgEIEXwWE/s144/P1010103.JPG" /></a><br /><br />

也可以用 iframe 開啟另一個網頁:<br />
<a href="http://www.google.com" rel="lyteframe" title="Search Google" rev="width: 800px; height: 500px; scrolling: no;">Google Search</a>
[/jsg.example]

[b][/b]
[b][size=4][color=Indigo]使用方式[/color][/size][/b]

下載 [url=http://dolem.com/lytebox/lytebox_v3.22.zip]Lytebox v3.22[/url] 後,將 js 和 css 引用進來。

[code html]
<link rel="stylesheet" href="lytebox.css" type="text/css" />
<script type="text/javascript" src="lytebox.js"></script>
[/code]

接著在你的 html 內指定正確的屬性,Lytebox 會自動找出要添加的項目及效果

以下是單一張相片的範例,主要是 [color=Blue][font=Courier New]rel="lytebox"[/font][/color] 這段屬性,表示要透過程式添加點選後放大顯示的效果。

[code html]
<a href="s800_P3160018.JPG" rel="lytebox" title="老爸種的草莓,看起來鮮嫩多汁喔">
<img src="s144_P3160018.JPG" /></a>
[/code]

以下是相片群組的範例,主要是 [color=Blue][font=Courier New]rel="lytebox[flowers]"[/font][/color] 這段屬性,方括號內的 flowers 表示這幾張相片是同一個群組,放大顯示後可以有前一張和下一張的連結。

[code html]
<a href="s800_P3160016.JPG" rel="lytebox[flowers]" title="紫色小花"><img src="s144_P3160016.JPG" /></a>
<a href="s800_P3160024.JPG" rel="lytebox[flowers]" title="白色小花"><img src="s144_P3160024.JPG" /></a>
<a href="s800_P3160030.JPG" rel="lytebox[flowers]" title="黃色小花"><img src="s144_P3160030.JPG" /></a>
[/code]

以下是自動展示幻燈片的範例,和上一個範例類似,但注意屬性變成了 [color=Blue][font=Courier New]rel="lyteshow[vacation]"[/font][/color],lyteshow 會呈現自動播放的效果:

[code html]
<a href="s800_P1010355.JPG" rel="lyteshow[vacation]" title="東海岸風光 - 日出東方"><img src="s144_P1010355.JPG" /></a>
<a href="s800_P1010401.JPG" rel="lyteshow[vacation]" title="東海岸風光 - 野花雜草"><img src="s144_P1010401.JPG" /></a>
<a href="s800_P1010536.JPG" rel="lyteshow[vacation]" title="東海岸風光 - 長喙天蛾"><img src="s144_P1010536.JPG" /></a>
[/code]

最後,如果你需要用 Lytebox 開啟另一個網頁,可以這樣用:

[code html]
<a href="http://www.google.com" rel="lyteframe" title="Search Google" rev="width: 800px; height: 500px; scrolling: no;">Google Search</a>
[/code]

bau720123 發表於 2009-4-14 18:36

我是小包
我又來發問了
算是一個CSS的問題
Lytebox的確蠻好用的
我也用過另外一種叫做litebox
就是您指的那個啦
[url]http://www.doknowevil.net/litebox/[/url]

但兩者執行時--相片框都會預設在中間的位置--
請問要怎麼改成靠右或靠左的位置呢??
我嘗試過改過CSS
使用過margin設定text-align設定
都沒辦法使它改變對齊方向^^|||

[[i] 本帖最後由 bau720123 於 2009-4-14 19:09 編輯 [/i]]

wmh 發表於 2009-4-14 19:53

這類的展示特效通常都是置中的沒錯。

你可以用 Firebug 之類的軟體觀察,以你提供的 litebox 來說,他是先用一層 div 叫 lightbox 這邊控制上邊界,再包一層 div 控制置中,因此你只要把置中的這個 div 調整一下即可。

置左,原本是 margin: 0 auto,改為:
[code css]
#outerImageContainer {
  margin: 0;
}
#imageDataContainer {
  margin: 0;
}
[/code]

如果要置右的話,postion 原本是 relative 要改成 absolute,再把 right 設成 0。

大致是這樣,不過不確定是否特效都會很完美,畢竟原本設計是置中的。

bau720123 發表於 2009-4-15 16:08

感謝您的指導
更改之後果然出現位置以靠右顯示了
CSS碼如下~分享給需要的人~其中紅色字體的部分是照您說的改的

[color=Blue]litebox版本[/color]
#lightbox{        position: absolute;        left: 0; width: 100%; z-index: 100; text-align: center; line-height: 0;}
#lightbox img{ width: auto; height: auto;}
#lightbox a img{ border: none; }
[color=Red]
#outerImageContainer{ position: absolute; background-color: #fff; width: 250px; height: 250px; margin: 0; right:0; }[/color]
#imageContainer{ padding: 10px; }

#loading{ position: absolute; top: 40%; left: 0%; height: 25%; width: 100%; text-align: center; line-height: 0; }
#hoverNav{ position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; }
#imageContainer>#hoverNav{ left: 0;}
#hoverNav a{ outline: none;}

#prevLink, #nextLink{ width: 49%; height: 100%; background-image: url(data:image/gif;base64,AAAA); /* Trick IE into showing hover */ display: block; }
#prevLink { left: 0; float: left;}
#nextLink { right: 0; float: right;}
#prevLink:hover, #prevLink:visited:hover { background: url(../images/prevlabel.gif) left 15% no-repeat; }
#nextLink:hover, #nextLink:visited:hover { background: url(../images/nextlabel.gif) right 15% no-repeat; }

[color=Red]#imageDataContainer{ position: absolute;font: 10px Verdana, Helvetica, sans-serif; background-color: #fff; margin: 0; line-height: 1.4em; overflow: auto; width: 100%; right:0; }[/color]

#imageData{        padding:0 10px; color: #666; }
#imageData #imageDetails{ width: 70%; float: left; text-align: left; }       
#imageData #caption{ font-weight: bold;        }
#imageData #numberDisplay{ display: block; clear: left; padding-bottom: 1.0em;        }                       
#imageData #bottomNavClose{ width: 66px; float: right;  padding-bottom: 0.7em; outline: none;}                

#overlay{ position: absolute; top: 0; left: 0; z-index: 90; width: 100%; height: 500px; background-color: #000; }

[color=Blue]lytebox版本[/color]
#lbOverlay { position: fixed; top: 0; left: 0; z-index: 99998; width: 100%; height: 500px;}
        #lbOverlay.grey { background-color: #000000; }
        #lbOverlay.red { background-color: #330000; }
        #lbOverlay.green { background-color: #003300; }
        #lbOverlay.blue { background-color: #011D50; }
        #lbOverlay.gold { background-color: #666600; }

#lbMain { position: absolute; left: 0; width: 100%; z-index: 99999; text-align: center; line-height: 0; }
#lbMain a img { border: none; }

[color=Red]#lbOuterContainer { position: absolute; background-color: #fff; width: 250px; height: 250px; margin: 0; right:0; }[/color]
        #lbOuterContainer.grey { border: 3px solid #888888; }
        #lbOuterContainer.red { border: 3px solid #DD0000; }
        #lbOuterContainer.green { border: 3px solid #00B000; }
        #lbOuterContainer.blue { border: 3px solid #5F89D8; }
        #lbOuterContainer.gold { border: 3px solid #B0B000; }

[color=Red]#lbDetailsContainer {        position: absolute;font: 10px Verdana, Helvetica, sans-serif; background-color: #fff; width: 100%; line-height: 1.4em;        overflow: auto; margin:0; right:0; }[/color]
        #lbDetailsContainer.grey { border: 3px solid #888888; border-top: none; }
        #lbDetailsContainer.red { border: 3px solid #DD0000; border-top: none; }
        #lbDetailsContainer.green { border: 3px solid #00B000; border-top: none; }
        #lbDetailsContainer.blue { border: 3px solid #5F89D8; border-top: none; }
        #lbDetailsContainer.gold { border: 3px solid #B0B000; border-top: none; }

#lbImageContainer, #lbIframeContainer { padding: 10px; }
#lbLoading {
        position: absolute; top: 45%; left: 0%; height: 32px; width: 100%; text-align: center; line-height: 0; background: url(images/loading.gif) center no-repeat;
}

#lbHoverNav { position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 10; }
#lbImageContainer>#lbHoverNav { left: 0; }
#lbHoverNav a { outline: none; }

#lbPrev { width: 49%; height: 100%; background: transparent url(images/blank.gif) no-repeat; display: block; left: 0; float: left; }
        #lbPrev.grey:hover, #lbPrev.grey:visited:hover { background: url(images/prev_grey.gif) left 15% no-repeat; }
        #lbPrev.red:hover, #lbPrev.red:visited:hover { background: url(images/prev_red.gif) left 15% no-repeat; }
        #lbPrev.green:hover, #lbPrev.green:visited:hover { background: url(images/prev_green.gif) left 15% no-repeat; }
        #lbPrev.blue:hover, #lbPrev.blue:visited:hover { background: url(images/prev_blue.gif) left 15% no-repeat; }
        #lbPrev.gold:hover, #lbPrev.gold:visited:hover { background: url(images/prev_gold.gif) left 15% no-repeat; }
       
#lbNext { width: 49%; height: 100%; background: transparent url(images/blank.gif) no-repeat; display: block; right: 0; float: right; }
        #lbNext.grey:hover, #lbNext.grey:visited:hover { background: url(images/next_grey.gif) right 15% no-repeat; }
        #lbNext.red:hover, #lbNext.red:visited:hover { background: url(images/next_red.gif) right 15% no-repeat; }
        #lbNext.green:hover, #lbNext.green:visited:hover { background: url(images/next_green.gif) right 15% no-repeat; }
        #lbNext.blue:hover, #lbNext.blue:visited:hover { background: url(images/next_blue.gif) right 15% no-repeat; }
        #lbNext.gold:hover, #lbNext.gold:visited:hover { background: url(images/next_gold.gif) right 15% no-repeat; }

#lbPrev2, #lbNext2 { text-decoration: none; font-weight: bold; }
        #lbPrev2.grey, #lbNext2.grey, #lbSpacer.grey { color: #333333; }
        #lbPrev2.red, #lbNext2.red, #lbSpacer.red { color: #620000; }
        #lbPrev2.green, #lbNext2.green, #lbSpacer.green { color: #003300; }
        #lbPrev2.blue, #lbNext2.blue, #lbSpacer.blue { color: #01379E; }
        #lbPrev2.gold, #lbNext2.gold, #lbSpacer.gold { color: #666600; }
       
#lbPrev2_Off, #lbNext2_Off { font-weight: bold; }
        #lbPrev2_Off.grey, #lbNext2_Off.grey { color: #CCCCCC; }
        #lbPrev2_Off.red, #lbNext2_Off.red { color: #FFCCCC; }
        #lbPrev2_Off.green, #lbNext2_Off.green { color: #82FF82; }
        #lbPrev2_Off.blue, #lbNext2_Off.blue { color: #B7CAEE; }
        #lbPrev2_Off.gold, #lbNext2_Off.gold { color: #E1E100; }
       
#lbDetailsData { padding: 0 10px; }
        #lbDetailsData.grey { color: #333333; }
        #lbDetailsData.red { color: #620000; }
        #lbDetailsData.green { color: #003300; }
        #lbDetailsData.blue { color: #01379E; }
        #lbDetailsData.gold { color: #666600; }

#lbDetails { width: 60%; float: left; text-align: left; }
#lbCaption { display: block; font-weight: bold; }
#lbNumberDisplay { float: left; display: block; padding-bottom: 1.0em; }
#lbNavDisplay { float: left; display: block; padding-bottom: 1.0em; }

#lbClose { width: 64px; height: 28px; float: right; margin-bottom: 1px; }
        #lbClose.grey { background: url(images/close_grey.png) no-repeat; }
        #lbClose.red { background: url(images/close_red.png) no-repeat; }
        #lbClose.green { background: url(images/close_green.png) no-repeat; }
        #lbClose.blue { background: url(images/close_blue.png) no-repeat; }
        #lbClose.gold { background: url(images/close_gold.png) no-repeat; }

#lbPlay { width: 64px; height: 28px; float: right; margin-bottom: 1px; }
        #lbPlay.grey { background: url(images/play_grey.png) no-repeat; }
        #lbPlay.red { background: url(images/play_red.png) no-repeat; }
        #lbPlay.green { background: url(images/play_green.png) no-repeat; }
        #lbPlay.blue { background: url(images/play_blue.png) no-repeat; }
        #lbPlay.gold { background: url(images/play_gold.png) no-repeat; }
       
#lbPause { width: 64px; height: 28px; float: right; margin-bottom: 1px; }
        #lbPause.grey { background: url(images/pause_grey.png) no-repeat; }
        #lbPause.red { background: url(images/pause_red.png) no-repeat; }
        #lbPause.green { background: url(images/pause_green.png) no-repeat; }
        #lbPause.blue { background: url(images/pause_blue.png) no-repeat; }
        #lbPause.gold { background: url(images/pause_gold.png) no-repeat; }


但改完後出現一個比較不是那麼完美的地方
請見圖片--上方CLOSE那一排本應該在相片框的下方顯示--但現在莫名的跑到上方了^^|||(我嘗試很多方法~調整CSS都沒辦法使齊在原來的位置)
[img]http://home.anet.net.tw/bau0123/litebox.JPG[/img]

[[i] 本帖最後由 bau720123 於 2009-4-16 16:45 編輯 [/i]]

wmh 發表於 2009-4-17 16:44

哦,我猜是因為靠右的話,相片變成 absolute 的排版後沒有佔位置,所以負責控制的那一行就跑上去了,應該是這樣~~

所以如果要靠右的話,那麼可能連那一行的位置都要跟著調整。你有網址可以讓我直接看目前的成果嗎?

bau720123 發表於 2009-4-17 16:59

當然可以壓
由於外部IP被公司封了~所以....
我再找找看有沒有可以讓我放檔案的網路空間
不好意思啦ㄚ_ㄚ

還是說我把我目前的成果直接打包一份給您
[url]http://home.anet.net.tw/bau0123/all.rar[/url]
直接點兩下HTML檔就可以執行了
這樣好嗎

[[i] 本帖最後由 bau720123 於 2009-4-17 17:12 編輯 [/i]]

wmh 發表於 2009-4-17 21:00

ok, 我重新看了一次,有了新的想法,之前的 CSS 可先忘記。直接使用以下方式吧:

[code css]
#lightbox {
  left: auto; /* 原本是 0 */
  width: auto; /* 原本是 100% */
  right: 0; /* 這樣就靠右了 */
}
[/code]

bau720123 發表於 2009-4-20 12:12

謝謝您的回復
不過改完之後出現的位置還是維持置中耶
瀏覽器測試:IE6;FF3

原本
#lightbox{        position: absolute;        left: 0; width: 100%; z-index: 100; text-align: center; line-height: 0; }

後來
[color=Red]#lightbox{        position: absolute;        left: auto; width: auto; z-index: 100; text-align: center; line-height: 0; right:0; }[/color]

不知道您那邊的狀況是會變成靠右嗎??怪怪!@#$%^^|||

[[i] 本帖最後由 bau720123 於 2009-4-20 12:22 編輯 [/i]]

wmh 發表於 2009-4-20 22:34

喔,因為我是直接在 client 端用 Firefox 改的,所以只調整了最後的結果。

lightbox 的 js 會去修改 element 的屬性,所以如果要靠右的話,得調整一下程式。

lightbox.js 第 233 行:

[code js]
this.lightbox.setStyle({ top: lightboxTop + 'px', left: lightboxLeft + 'px' }).show();
[/code]

改為:

[code js]
this.lightbox.setStyle({ top: lightboxTop + 'px'}).show();
[/code]

bau720123 發表於 2009-4-21 14:56

謝謝您的回復
現在改過後狀況比較尷尬了

改過之後的狀況如下
IE6:維持置中
IE7:維持置中
IE8:不知道--事後報告(目前沒用過8版瀏覽器)
FF3:靠右對齊
Sa3:靠右對齊
Ch2:靠右對齊
Op9:靠右對齊

IE有時候還滿討厭的說^^|||

[[i] 本帖最後由 bau720123 於 2009-4-21 17:46 編輯 [/i]]

wmh 發表於 2009-4-21 20:44

嗯,我知道原因了,因為 IE6,7 給 width auto 時,是 100%

你可以試著改一下程式,在 outerImageContainer 改變寬度時,一起改變 lightbox 的寬度,應該可以解決。

bau720123 發表於 2009-4-22 11:42

謝謝您的回覆
根據您的提示我嘗試自己依樣畫葫蘆改了lightbox.js的某個地方
在原167行
$('outerImageContainer').setStyle({ width: size, height: size });

底下再插入
$('lightbox').setStyle({ width: size, height: size });

想不到出現了令人噴飯的結果
改的不對請見諒^^|||
分享給您了解看看

第一張圖--是在IE6底下的結果
[img]http://home.anet.net.tw/bau0123/ie6.JPG[/img]

第二張圖--是在FF3底下的結果
[img]http://home.anet.net.tw/bau0123/ff3.JPG[/img]

回家後我也灌灌看IE8瀏覽器~如果IE8可以跟FF3或是其它流覽器顯示一樣
那就不用再多費功夫在那邊校調了--畢竟IE8會是以後新作業系統的主流瀏覽器吧!!

[[i] 本帖最後由 bau720123 於 2009-4-22 11:56 編輯 [/i]]

bau720123 發表於 2009-4-23 01:39

最新的回覆

在#9的程式碼改完後的最新狀況如下
IE6:維持置中
IE7:維持置中
[color=Red]IE8:靠右對齊[/color]
FF3:靠右對齊
Sa3:靠右對齊
Ch2:靠右對齊
Op9:靠右對齊

值得令人高興的一點就是
IE8終於有點進步
但是IE8的畫面顯示跟特效顯現~ㄎㄟˇㄎㄟˇ的耶

[[i] 本帖最後由 bau720123 於 2009-4-23 10:38 編輯 [/i]]

wmh 發表於 2009-4-23 13:03

[quote]原帖由 [i]bau720123[/i] 於 2009-4-22 11:42 發表 [url=http://jsgears.com/redirect.php?goto=findpost&pid=523&ptid=115][img]http://jsgears.com/images/common/back.gif[/img][/url]
謝謝您的回覆
根據您的提示我嘗試自己依樣畫葫蘆改了lightbox.js的某個地方
在原167行
$('outerImageContainer').setStyle({ width: size, height: size });

底下再插入
$('lightbox').setStyle({ width: size, hei ... [/quote]

嗯,我覺得不是改這個地方喔,你可以找有動畫效果的地方修改。

bau720123 發表於 2009-4-23 14:11

好的~我再多努力找找嘗試看看好了
謝謝您的提醒

wmh 發表於 2009-4-23 21:55

原本有一段是:
[code js]
if (wDiff != 0) ...
[/code]

這邊幫 lightbox 加上相同的效果即可:
[code js]
if (wDiff != 0) {
  new Effect.Scale(this.outerImageContainer, ......);
  $('lightbox').setStyle({ width: widthNew});
}
[/code]

bau720123 發表於 2009-4-24 10:44

已解決並測試成功
再次感謝

portaroma 發表於 2009-6-25 15:31

但我的網站用了這javascript,但如果第一次按圖片,是出不了那個效果........
之後再按圖片才出瀏覽框 。
每次進入網頁都是這樣。
是否有bug???

[[i] 本帖最後由 portaroma 於 2009-6-25 16:01 編輯 [/i]]

wmh 發表於 2009-6-25 23:22

有實際範例可以看嗎?

portaroma 發表於 2009-7-2 17:26

[quote]原帖由 [i]wmh[/i] 於 2009-6-25 23:22 發表 [url=http://jsgears.com/redirect.php?goto=findpost&pid=638&ptid=115][img]http://jsgears.com/images/common/back.gif[/img][/url]
有實際範例可以看嗎? [/quote]

那網站根本寫得很差,但我要收拾殘局。
[url]http://www.yoas.org.hk/review.htm[/url]

試按頭4個按鈕。

[[i] 本帖最後由 portaroma 於 2009-7-2 17:34 編輯 [/i]]

頁: [1] 2

Powered by Discuz! Archiver  © 2001-2009 Comsenz Inc.