Скрипт случайного выбора при загрузке страницы
Подскажите, пожалуйста.
Нашел скрипт <script language="javascript"> <!-- var a=Math.round(Math.random()*3) //это число должно совпадать с максимальным индексом таблицы изображений image = new Array(); image[0]="img00001.jpg" image[1]="img00002.jpg" image[2]="img00003.jpg" image[3]="img00004.jpg" //с максимальным индексом image[..] совпадает число, на которое умножаем вверху document.write ("<img src="+image[a]+">"); //--> </script> Но возникла необходимость привязать к случайному изображению заданую ссылку, скрипт переписал <script language="javascript"> <!-- var a=Math.round(Math.random()*31) //это число должно совпадать с максимальным индексом таблицы изображений image = new Array(); image[0]="01.jpg" image[1]="02.jpg" image[2]="03.jpg" image[3]="04.jpg" Address = new Array(); Address[0]="http://index1.html" Address[1]="http://index2.html" Address[2]="http://index3.html" Address[3]="http://index4.html" //с максимальным индексом image[..] совпадает число, на которое умножаем вверху document.write ("<a href='"+Address[a]+"'><img src='"+Image[a]+"'></a>"); //--> </script> Но по какой-то причине не формируется ссылка на изображение, file://localhost/undefined, подскажите пожалуста, где я ошибся. Заранее благодарен за ответ. |
Цитата:
И вообще, поизучайте javascript ещё. У вас неплохо получится. Здесь много устаревшего и неправильного, но это вина того, кто писал оригинальный код) |
Цитата:
Цитата:
arr= [1, 2, 3]; --arr.length; alert(arr); |
Может кому-то будет интетересен такой вариант решения задания
<script language="javascript"> <!-- var Image=new Array("00.jpg","01.jpg","02.jpg","03.jpg"); var Address=new Array("index.html","index1.html","index2.htm","index3.html"); var i=Math.round(Math.random()*3); document.write("<a href='"+Address[i]+"' target='_blank'><img src='"+Image[i]+"'></a>"); //--> </script> Всем, большое спасибо, за содействие в решении проблемы. |
nasqad писал же: не стоит использовать new Array().
Лучше так: var Image=["00.jpg","01.jpg","02.jpg","03.jpg"] Между двумя этими методами есть разница - в первом случае вы создаёте объект Array, а во втором случае вы создаёте массив. Пример: bool1= false; bool2= new Boolean(false); alert(!!bool1); // приводим переменные к логическому значению alert(!!bool2); Примерно такая же разница и между new Array и []. |
Лучше так
<script> var Image = [ ['00.jpg','index.html'], ['01.jpg','index1.html'], ['02.jpg','index2.htm'], ['03.jpg','index3.html'] ] var i=Math.round(Math.random()*3); document.write("<a href='"+Image[i][1]+"' target='_blank'><img src='"+Image[i][0]+"'></a>"); </script> |
shukov, а поста постарше вы не нашли?))
|
Часовой пояс GMT +3, время: 21:38. |