Скрипт случайного выбора при загрузке страницы
Подскажите, пожалуйста.
Нашел скрипт
<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, время: 01:12. |