Random Images [Source]

Last updated: 08.05.2002


Source code for the Random Images script to display randomly-selected images. To use this script, save it as plain text and paste it into your page.


<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!-- 
    // JavaScript to interpolate random images into a page.
    
    var ic = 5;                     // Number of alternative images
    var i = new Array(ic);          // Array to hold filenames
    
    // Set up the images. These are GIFs, but they don't have to be.
    // You could also save space in your file by including the
    // unchanging part of the image filename (i.e. 'inline/imageSample'
    // and '.gif') in the 'writeln' statement below, and just storing
    // the part of the image name that actually changes. Used this way
    // you could reference a very large number of different images while
    // keeping the file size small.
    
    i[0] = "inline/imageSample01.gif";
    i[1] = "inline/imageSample02.gif";
    i[2] = "inline/imageSample03.gif";
    i[3] = "inline/imageSample04.gif";
    i[4] = "inline/imageSample05.gif";
    
    // pickRandom - Return a random number in a given range. If we're running
    // on an older browser that doesn't support 'Math.random()', we can fake
    // it by using the current time. This isn't ideal for mission-critical
    // security applications, but it's fine here. Note that we divide the
    // current time by 1000 to get rid of the milliseconds which Navigator
    // doesn't seem to take into account.
    
    function pickRandom(range) {
        if (Math.random)
            return Math.round(Math.random() * (range-1));
        else {
            var now = new Date();
            return (now.getTime() / 1000) % range;
        }
    }

    // Write out an IMG tag, using a randomly-chosen image name.
    
    var choice = pickRandom(ic);
    document.writeln('<TABLE WIDTH=470 ALIGN=CENTER><TR><TD><P ALIGN=CENTER>' +
    				 '<IMG SRC="' + i[choice] +
                     '" HEIGHT=120 WIDTH=160 HSPACE=5 VSPACE=5 BORDER=0><' +
                     "/P><" + "/TD><" + "/TR><" + "/TABLE>");
// -->
</SCRIPT>

[raingod:resources:javascript] -- [up][links][home]