2008-11-26 32 views
1

我想知道是否有可能有一種縮略圖圖片庫,其中單擊縮略圖將顯示圖層中的完整圖像。我想知道是否有可能加載所有圖層和各自的圖像,並使用JavaScript來改變z索引或類似的東西,以避免重新加載或離開頁面。我寧願避免使用服務器端技術,但不知道這是否可行。使用javascript處理css圖層

編輯:

我不是在「收藏夾」的解決方案或任何覆蓋的頁面,我寧願要一個形象出現在頁面的一部分,並且變化無需刷新頁面,基本上就像PIctureSlide鏈接下面。但更重要的是,我想知道如果不使用框架就可以很容易地編寫代碼,並且它可以像我上面想的那樣工作?

+0

沒有像jQuery這樣的庫,沒有像它那樣容易編寫任何東西。您可以做到這一點,但您必須擔心所有跨瀏覽器合規性問題和DOM遍歷。 – acrosman 2008-11-26 11:59:44

回答

2

是的,你可以做到這一點沒有一個框架:

<div id='big' style='width:500px;height:500px'></div> 
<a href="javascript://load big image" onclick="document.getElementById('big').style.backgroundImage='url(Big.gif)'"><img border="0" src="images/Thumb.gif" /></a> 

下面是一個使用Prototype庫一個簡單的例子:

<div id='big' style='width:500px;height:500px'></div> 
<a href="javascript://load big image" onclick="$('big').style.backgroundImage='url(Big1.gif)'"><img border="0" src="thumb1.gif" /></a> 

此腳本假定大的圖像都是500×500像素。

這裏有一個替代的方式來做到這一點:

<div id='big'></div> 
<a href="javascript://load big image" onclick="loadBig('Big1.gif')"><img border="0" src="thumb1.gif" /></a> 
<script type="text/javascript"> 
function loadBig() { 
    $('big').innerHTML = "<img src='Big1.gif'>" 
} 
</script> 
1

有大量的縮略圖gallerys的(你所尋找的可能是接近的)除非你有特定的需求,否則你一定要自己寫一個。如

http://www.huddletogether.com/projects/lightbox/

+0

Popeye實際上是燈箱的替代品,在網頁 – VonC 2008-11-26 11:45:45

1

我會建議GreyBox此,它非常小,並且與任何其他燈箱解決方案一樣好。但是,如果您已經在同一頁面上使用了JS框架(Mootools/jQuery/Prototype),那麼您最好還是選擇一個基於它的解決方案,這裏有很多可以搜索的方法。如果您特別需要幻燈片放映功能(GreyBox沒有AFAIK),我以前使用Slideshow Lightbox(基於原型)並取得成功。

0

這是可能的。你可以把所有的圖像放在自己的div中,創建一個隱藏事物的CSS類,另一個可以用你想要的其他設置來顯示圖片。當有人點擊athumbnail時,更改相應div上的班級以顯示正確的圖像,並隱藏所有其他人。

也就是說,如果你不介意閃光燈的要求,已經有幾種閃光工具可以做到這一點。

如果你用JavaScript做到這一點,確保你使用像jQuery或Scriptaculas這樣的庫來處理跨瀏覽器問題。我曾經用直接的JavaScript做過類似的事情,這真是一場噩夢。

+0

Thankyou中有更好的整合性,我主要想了解它如何工作。你會如何改變一個單獨的div類的鏈接? – 2008-11-26 11:55:36

+0

使用鏈接的onClick()屬性。 「...'href ='#'onClick ='ShowImage(4); return false;'...」 – acrosman 2008-11-26 12:01:53

0

當然是可能的,雖然大多數框架將爲您提供燈箱你不想

我總是建議得到JS改變對象類讓CSS處理如何表示,但JS是動畫所必需的,如果這是你需要的