2013-10-08 47 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