2013-10-08 89 views
0

我對JavaScript不太好,但認爲這是可行的,可以使用你的幫助。使用Javascript爲頁面加載時的圖像分配隨機背景顏色

我有一個名爲.thumbs的div類,並且這個div裏面都是一個lightbox庫的縮略圖(這些縮略圖也是鏈接)。

圖像具有填充和邊框,因此您可以在填充中看到圖像的背景色。

我想要一個腳本,它將五個隨機顏色分配爲這些圖像中的每一個的背景圖像:hover。

我認爲這是最好的,如果這些顏色只在頁面加載時分配一次,而不是每次圖像懸停時分配一個新的隨機顏色。

我看了一下乍得的這個答案,爲div類指定了隨機顏色,但即使它是有意的,我也無法讓它工作,儘管jsfiddle看起來不錯。我敢肯定,在我的一端有奇怪的事情發生.. many divs with same class - different background

任何幫助非常感謝!謝謝!

+0

你使用jQuery複製什麼的的jsfiddle? –

+0

嗯..我以爲我有,但在審查我沒有。所以我鏈接的腳本效果很好,我會盡力根據需要調整它,如果我需要幫助,請回到此主題。尷尬!謝謝! – user2860129

+0

所以這個腳本在使用「.random」類隨機分配顏色給div時工作正常。 現在,我該如何將它分配給圖像的背景顏色? 我目前用來給它們分配一種顏色的CSS是 。我已經玩了一下,並且我最初的想法是關於如何做到這一點失敗。 再次感謝 – user2860129

回答

0

基於您的評論,你可以做到這一點,像這樣(此代碼還需要jQuery的):

<style> 
    .color-1 a img:hover{background-color:red;} 
    .color-2 a img:hover{background-color:blue;} 
    .color-3 a img:hover{background-color:green;} 
    .color-4 a img:hover{background-color:yellow;} 
    .color-5 a img:hover{background-color:orange;} 
</style> 

<script> 
    $(function(){ // this is a shortcut for "on document ready" 
     // For each element with the class thumb we find: 
     $('.thumb').each(function(){ 
      // add random class to assign the color 
      $(this).addClass('color-' + (Math.floor(Math.random() * 5) + 1)); 
     }); 
    }) 
</script> 
... 

希望這有助於:)

+0

這是一個有趣的方法,我不會想到這一點,我一定會嘗試一下。謝謝! 爲了理解這個概念,是否有另一種方法呢? 我得到了我的OP中的代碼應用於鏈接的背景顏色,所以應用於img的bg應該同樣簡單。 什麼對我不起作用,當我加入時:將鼠標懸停在它上面,就像css一樣。它只是打破了,並沒有改變任何東西。那麼,是否有一種特殊的格式可以輸入:懸停部分,還是需要在實際的JS中聲明爲鼠標懸停事件或類似的東西? – user2860129

+0

我也很想加入它,以便在圖像被點擊/「激活」之後保持懸停顏色,直到單擊另一個圖像。 – user2860129