Note that there are some explanatory texts on larger screens.

plurals
  1. POA script that loads an image at random from an array without repeating any until all have been viewed
    text
    copied!<p>I am running a script that loads an image from an array at random each time the page is refreshed. An undesirable feature of this script, and every other script like it that I have seen online, is that though there are over 100 images in the array, it often loads the same image a number of times before all of the images in the array have been viewed. </p> <p>I would like to alter the script to prevent the same image from being called twice before all of the images in the array have been viewed. If an entirely different approach than the one I have taken here is preferable, please let me know. Also, my understanding of javascript is shakey so a thorough explanation of how to correct this issue would be most helpful. </p> <p>Thanks in advance</p> <p>Here is the page source:</p> <p> </p> <pre><code> &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt; &lt;title&gt;&lt;/title&gt; &lt;link href="css/styles.css" rel="stylesheet" type="text/css"&gt; &lt;!--[if IE]&gt;&lt;link href="css/ie-styles.css" rel="stylesheet" type="text/css"&gt;&lt;![endif]--&gt; &lt;script type="text/javascript"&gt; &lt;!-- var xoxo = new Array(); // Array to hold filenames xoxo[0] = "images/portrait/fpo/01.jpg" xoxo[1] = "images/portrait/fpo/02.jpg" xoxo[2] = "images/portrait/fpo/03.jpg" xoxo[3] = "images/portrait/fpo/04.jpg" xoxo[4] = "images/portrait/fpo/05.jpg" xoxo[5] = "images/portrait/fpo/06.jpg" xoxo[6] = "images/portrait/fpo/07.jpg" xoxo[7] = "images/portrait/fpo/08.jpg" xoxo[8] = "images/portrait/fpo/09.jpg" xoxo[9] = "images/portrait/fpo/10.jpg" xoxo[10] = "images/portrait/fpo/11.jpg" xoxo[11] = "images/portrait/fpo/12.jpg" xoxo[12] = "images/portrait/fpo/13.jpg" xoxo[13] = "images/portrait/fpo/14.jpg" xoxo[14] = "images/portrait/fpo/15.jpg" xoxo[15] = "images/portrait/fpo/16.jpg" xoxo[16] = "images/portrait/fpo/17.jpg" xoxo[17] = "images/portrait/fpo/18.jpg" xoxo[18] = "images/portrait/fpo/19.jpg" xoxo[19] = "images/portrait/fpo/20.jpg" xoxo[20] = "images/portrait/fpo/21.jpg" xoxo[21] = "images/portrait/fpo/22.jpg" xoxo[22] = "images/portrait/fpo/23.jpg" xoxo[23] = "images/portrait/fpo/24.jpg" xoxo[24] = "images/portrait/fpo/25.jpg" xoxo[25] = "images/portrait/fpo/26.jpg" xoxo[26] = "images/portrait/fpo/27.jpg" xoxo[27] = "images/portrait/fpo/28.jpg" xoxo[28] = "images/portrait/fpo/29.jpg" xoxo[29] = "images/portrait/fpo/30.jpg" xoxo[30] = "images/portrait/fpo/31.jpg" xoxo[31] = "images/portrait/fpo/32.jpg" xoxo[32] = "images/portrait/fpo/33.jpg" xoxo[33] = "images/portrait/fpo/34.jpg" xoxo[34] = "images/portrait/fpo/35.jpg" xoxo[35] = "images/portrait/fpo/36.jpg" xoxo[36] = "images/portrait/fpo/37.jpg" xoxo[37] = "images/portrait/fpo/38.jpg" xoxo[38] = "images/portrait/fpo/39.jpg" xoxo[39] = "images/portrait/fpo/40.jpg" xoxo[40] = "images/portrait/fpo/41.jpg" xoxo[41] = "images/portrait/fpo/42.jpg" xoxo[42] = "images/portrait/fpo/43.jpg" xoxo[43] = "images/portrait/fpo/44.jpg" xoxo[44] = "images/portrait/fpo/45.jpg" xoxo[45] = "images/portrait/fpo/46.jpg" xoxo[46] = "images/portrait/fpo/47.jpg" xoxo[47] = "images/portrait/fpo/48.jpg" xoxo[48] = "images/portrait/fpo/49.jpg" xoxo[49] = "images/portrait/fpo/50.jpg" xoxo[50] = "images/portrait/fpo/51.jpg" xoxo[51] = "images/portrait/fpo/52.jpg" xoxo[52] = "images/portrait/fpo/53.jpg" xoxo[53] = "images/portrait/fpo/54.jpg" xoxo[54] = "images/portrait/fpo/55.jpg" xoxo[55] = "images/portrait/fpo/56.jpg" xoxo[56] = "images/portrait/fpo/57.jpg" xoxo[57] = "images/portrait/fpo/58.jpg" xoxo[58] = "images/portrait/fpo/59.jpg" xoxo[59] = "images/portrait/fpo/60.jpg" xoxo[60] = "images/portrait/fpo/61.jpg" xoxo[61] = "images/portrait/fpo/62.jpg" xoxo[62] = "images/portrait/fpo/63.jpg" xoxo[63] = "images/portrait/fpo/64.jpg" xoxo[64] = "images/portrait/fpo/65.jpg" xoxo[65] = "images/portrait/fpo/66.jpg" xoxo[66] = "images/portrait/fpo/67.jpg" xoxo[67] = "images/portrait/fpo/68.jpg" xoxo[68] = "images/portrait/fpo/69.jpg" xoxo[69] = "images/fashion/fpo/01.jpg" xoxo[70] = "images/fashion/fpo/02.jpg" xoxo[71] = "images/fashion/fpo/03.jpg" xoxo[72] = "images/fashion/fpo/04.jpg" xoxo[73] = "images/fashion/fpo/05.jpg" xoxo[74] = "images/fashion/fpo/06.jpg" xoxo[75] = "images/fashion/fpo/07.jpg" xoxo[76] = "images/fashion/fpo/08.jpg" xoxo[77] = "images/fashion/fpo/09.jpg" xoxo[78] = "images/fashion/fpo/10.jpg" xoxo[79] = "images/fashion/fpo/11.jpg" xoxo[80] = "images/fashion/fpo/12.jpg" xoxo[81] = "images/fashion/fpo/13.jpg" xoxo[82] = "images/fashion/fpo/14.jpg" xoxo[83] = "images/fashion/fpo/15.jpg" xoxo[84] = "images/fashion/fpo/16.jpg" xoxo[85] = "images/fashion/fpo/17.jpg" xoxo[86] = "images/fashion/fpo/18.jpg" xoxo[87] = "images/fashion/fpo/19.jpg" xoxo[88] = "images/fashion/fpo/20.jpg" xoxo[89] = "images/fashion/fpo/21.jpg" xoxo[90] = "images/fashion/fpo/22.jpg" xoxo[91] = "images/fashion/fpo/23.jpg" xoxo[92] = "images/fashion/fpo/24.jpg" xoxo[93] = "images/fashion/fpo/25.jpg" xoxo[94] = "images/fashion/fpo/26.jpg" xoxo[95] = "images/fashion/fpo/27.jpg" xoxo[96] = "images/fashion/fpo/28.jpg" xoxo[97] = "images/fashion/fpo/29.jpg" xoxo[98] = "images/fashion/fpo/30.jpg" xoxo[99] = "images/fashion/fpo/31.jpg" xoxo[100] = "images/fashion/fpo/32.jpg" xoxo[101] = "images/fashion/fpo/33.jpg" xoxo[102] = "images/fashion/fpo/34.jpg" xoxo[103] = "images/fashion/fpo/35.jpg" xoxo[104] = "images/fashion/fpo/36.jpg" xoxo[105] = "images/fashion/fpo/37.jpg" xoxo[106] = "images/fashion/fpo/38.jpg" xoxo[107] = "images/fashion/fpo/39.jpg" xoxo[108] = "images/fashion/fpo/40.jpg" xoxo[109] = "images/fashion/fpo/41.jpg" xoxo[110] = "images/fashion/fpo/42.jpg" xoxo[111] = "images/fashion/fpo/43.jpg" xoxo[112] = "images/fashion/fpo/44.jpg" xoxo[113] = "images/fashion/fpo/45.jpg" xoxo[114] = "images/fashion/fpo/46.jpg" xoxo[115] = "images/fashion/fpo/47.jpg" xoxo[116] = "images/fashion/fpo/48.jpg" xoxo[117] = "images/fashion/fpo/49.jpg" xoxo[118] = "images/fashion/fpo/50.jpg" xoxo[119] = "images/fashion/fpo/51.jpg" xoxo[120] = "images/fashion/fpo/52.jpg" xoxo[121] = "images/fashion/fpo/53.jpg" xoxo[122] = "images/fashion/fpo/54.jpg" xoxo[123] = "images/fashion/fpo/55.jpg" xoxo[124] = "images/fashion/fpo/56.jpg" xoxo[125] = "images/fashion/fpo/57.jpg" xoxo[126] = "images/fashion/fpo/58.jpg" xoxo[127] = "images/fashion/fpo/59.jpg" xoxo[128] = "images/fashion/fpo/60.jpg" xoxo[129] = "images/fashion/fpo/61.jpg" xoxo[130] = "images/fashion/fpo/62.jpg" xoxo[131] = "images/fashion/fpo/63.jpg" xoxo[132] = "images/fashion/fpo/64.jpg" xoxo[133] = "images/fashion/fpo/65.jpg" xoxo[134] = "images/fashion/fpo/66.jpg" xoxo[135] = "images/fashion/fpo/67.jpg" xoxo[136] = "images/fashion/fpo/68.jpg" xoxo[137] = "images/fashion/fpo/69.jpg" xoxo[138] = "images/children/fpo/01.jpg" xoxo[139] = "images/children/fpo/02.jpg" xoxo[140] = "images/children/fpo/03.jpg" xoxo[141] = "images/children/fpo/04.jpg" xoxo[142] = "images/children/fpo/05.jpg" xoxo[143] = "images/children/fpo/06.jpg" xoxo[144] = "images/children/fpo/07.jpg" xoxo[145] = "images/children/fpo/08.jpg" xoxo[146] = "images/children/fpo/09.jpg" xoxo[147] = "images/children/fpo/10.jpg" xoxo[148] = "images/children/fpo/11.jpg" xoxo[149] = "images/children/fpo/12.jpg" xoxo[150] = "images/children/fpo/13.jpg" xoxo[151] = "images/children/fpo/14.jpg" xoxo[152] = "images/children/fpo/15.jpg" xoxo[153] = "images/children/fpo/16.jpg" xoxo[154] = "images/children/fpo/17.jpg" xoxo[155] = "images/children/fpo/18.jpg" xoxo[156] = "images/children/fpo/19.jpg" xoxo[157] = "images/children/fpo/20.jpg" xoxo[158] = "images/children/fpo/21.jpg" xoxo[159] = "images/children/fpo/22.jpg" xoxo[160] = "images/children/fpo/23.jpg" xoxo[161] = "images/children/fpo/24.jpg" xoxo[162] = "images/children/fpo/25.jpg" xoxo[163] = "images/children/fpo/26.jpg" xoxo[164] = "images/children/fpo/27.jpg" xoxo[165] = "images/children/fpo/28.jpg" xoxo[166] = "images/children/fpo/29.jpg" xoxo[167] = "images/children/fpo/30.jpg" xoxo[168] = "images/children/fpo/31.jpg" xoxo[169] = "images/children/fpo/32.jpg" xoxo[170] = "images/children/fpo/33.jpg" xoxo[171] = "images/children/fpo/34.jpg" xoxo[172] = "images/children/fpo/35.jpg" xoxo[173] = "images/children/fpo/36.jpg" xoxo[174] = "images/children/fpo/37.jpg" 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(xoxo.length); // --&gt; &lt;/script&gt; </code></pre> <p> </p> <pre><code> &lt;div class="menu"&gt; &lt;a style="color:#000000" href="index.html"&gt;Index&lt;/a&gt;&lt;br&gt; &lt;a href="portrait/overview.html"&gt;Portrait&lt;/a&gt;&lt;br&gt; &lt;a href="fashion/overview.html"&gt;Fashion&lt;/a&gt;&lt;br&gt; &lt;a href="children/overview.html"&gt;Children&lt;/a&gt;&lt;br&gt; &lt;a href="clients.html"&gt;Clients&lt;/a&gt;&lt;br&gt; &lt;a href="contact.html"&gt;Contact&lt;/a&gt;&lt;br&gt; &lt;/div&gt; &lt;table cellpadding="0" cellspacing="0" border="0" height="100%" width="100%"&gt; &lt;tr valign="middle"&gt;&lt;td align="center"&gt; &lt;a href="index.html"&gt;&lt;script type="text/javascript"&gt;document.writeln('&lt;img src="'+xoxo[choice]+'" &gt;');&lt;/script&gt;&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt; &lt;/table&gt; </code></pre> <p> </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload