multiple, non-duplicating random image loads

Posted on 1998-03-30
Medium Priority
Last Modified: 2011-10-03
I'm looking to set up a 5 x 5  matrix of images which I would like scrambled every time the page is loaded. I know how to create a random number in JavaScript and use that number to load a numbered gif, such as 1.gif 2.gif, etc. But how would I generate a random loading scheme which will exclude any of the random numbers I've already used?  In other words,  I have 25 images and I want them to load in random order, with equal chance to be in any position in the matrix and not always next to the same other images. Does anyone know how to do that with JavaScript?
Question by:bheerman

Accepted Solution

percyn earned 400 total points
ID: 1278939
I guess what you really want to do is randomize the order of an exclusive list of images. Thus you have to maintain a temp array of "already selected numbers" and check against this array for every selection.

You will end up with a double nested for loop with a if statement in it.

Author Comment

ID: 1278940
I'm not good enough to complete the script without more help.

What I would really like is a pre-written script that generates a set of non-recurring integers, in my case from 1 to 25, in a scrambled order upon each trigger. I've given up at the point outlined below. (The image tags are for outline purposes, I'm really only stuck on the JavaScript.)

<!-- This document was created with HomeSite 2.5 -->

      <TITLE>Bingo Test</TITLE>

var used = new Array()

if (used =

for(var i=1; i<=25;)

      image01 = ('"+Math.ceil(Math.random()*25) + ".gif")
      image02 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image03 = ('"+Math.ceil(Math.random()*25) + ".gif")      

      image04 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image05 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image06 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image07 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image08 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image09 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image10 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image11 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image12 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image13 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image14= ('"+Math.ceil(Math.random()*25) + ".gif")

      image15 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image16 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image17 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image18 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image19 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image20 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image21= ('"+Math.ceil(Math.random()*25) + ".gif")

      image22 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image23= ('"+Math.ceil(Math.random()*25) + ".gif")

      image24 = ('"+Math.ceil(Math.random()*25) + ".gif")

      image25 = ('"+Math.ceil(Math.random()*25) + ".gif")



<TABLE Border="1">

<TD>image 1</TD>
<TD>image 2</TD>
<TD>image 3</TD>
<TD>image 4</TD>
<TD>image 5</TD>

<TD>image 6</TD>
<TD>image 7</TD>
<TD>image 8</TD>
<TD>image 9</TD>
<TD>image 10</TD>

<TD>image 11</TD>
<TD>image 12</TD>
<TD>image 13</TD>
<TD>image 14</TD>
<TD>image 15</TD>

<TD>image 16</TD>
<TD>image 17</TD>
<TD>image 18</TD>
<TD>image 19</TD>
<TD>image 20</TD>

<TD>image 21</TD>
<TD>image 22</TD>
<TD>image 23</TD>
<TD>image 24</TD>
<TD>image 25</TD>



Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
This article discusses how to implement server side field validation and display customized error messages to the client.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

627 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question