随机图像及其网址

时间:2010-12-21 11:43:51

标签: javascript image random

我想创建一个随机图片及其网址,我的意思不是图片的链接,但除了图片的链接,我想要指定的网址,以便显示随机图片,当你点击它时,你转到指定的网址

这是我的javascript:

    function random_imglink(){
      var myimages=new Array()
      //specify random images below. You can have as many as you wish
      myimages[1]="/documents/templates/projedepo/banner/canon.jpg"
      myimages[2]="/documents/templates/projedepo/banner/indigovision.jpg"

      var ry=Math.floor(Math.random()*myimages.length)

      if (ry==0)
         ry=1

    var randomImage = '<img src="'+myimages[ry]+'" height="420" width="964" />';
    document.getElementById("image2").innerHTML = randomImage;
    }
    random_imglink()

这是我的HTML:

<div id="slider_container">    
<div id="image2">
</div>
<div id="thumb2">
<a href="#" rel="/documents/templates/projedepo/banner/canon.jpg" class="image2" ><img title="Canon" class="slider_thumb" src="/documents/templates/bilgiteknolojileri/images/t_flash/t1.png" border="0"/></a>
<a href="#" rel="/documents/templates/projedepo/banner/indigovision.jpg" class="image2"><img title="IndogoVision" class="slider_thumb" src="/documents/templates/bilgiteknolojileri/images/t_flash/t2.png" border="0"/></a>
</div></div>

1 个答案:

答案 0 :(得分:5)

我不完全确定你想做什么,但我认为你想创建一个链接到网址的图像,从图像列表和相应的网址中随机选择。你可以这样做:

function random_imglink() {
    var myimages = [
        {image: "/documents/templates/projedepo/banner/canon.jpg", url: "http://www.url1.com"},
        {image: "/documents/templates/projedepo/banner/indigovision.jpg", url: "http://www.url2.com"}
    ];

    var ry=Math.floor(Math.random()*myimages.length);

    var randomImage = myimages[ry];

    var randomImageLink = '<a href="' + randomImage.url + '"><img src="'+randomImage.image+'" height="420" width="964" /></a>';
    document.getElementById("image2").innerHTML = randomImageLink;
}

我在这里使用[]来创建一个从索引0开始的数组(参见:http://www.hunlock.com/blogs/Mastering_Javascript_Arrays)。因此,您不需要if (ry == 0) ry = 1;部分。 {}中的内容是javascript对象,您可以将其用作关联(键值)数组。另见http://www.quirksmode.org/js/associative.html

也许你已经知道所有这一切,在这种情况下请忽略我所说的一切:)

编辑:

顺便说一句,如果你想做得更好一点,你的image2 div中总会有一个图像和一个链接,你可以将所有非动态内容放在html中:< / p>

<div id="image2">
    <a id="image2-link" href="#"><img id="image2-image" src="" height="420" width="964" /></a>
</div>

然后

(...)

    var randomImage = myimages[ry];

    document.getElementById("image2-link").href = randomImage.url;
    document.getElementById("image2-image").src = randomImage.image;