Смена фона при перезагрузке страницы
Задача: смена фонового изображения при перезагрузке страницы
Что уже имеется: создал массив картинок var Pic = new Array() Pic[0] = 'x1.png' Pic[1] = 'x2.png' Pic[2] = 'x3.png' Pic[3] = 'x4.png' и нарыл на форуме функцию, которая у боди меняет фоновую картинку function changeBg(){ document.getElementsByTagName('body')[0].style.backgroundImage="url('1.jpg')" } Вопрос 1: как сделать,чтобы в функции была не одна картинка 1.jpg, а рэндомная картинка из массива. Вопрос 2: как привязать это событие к перезагрузке страницы. Есть body onLoad и onUnload, а релоада то нету? |
1) Math.random
2) reload нету, а зачем делать резличие между загрузкой и повторной загрузкой страницы? |
Написал такой скрипт - но проблема в том, что math.random выводит значение в диапазоне 0-1, а мне надо в диапазоне целых значений от 1 до 20 (например). Вот мой скрипт
var img_name = "" var img_suffix = "x" var img_ext = ".gif"; var result = ""; img_name= Math.random(); result = img_suffix + img_name + img_ext alert(result); По второму вопросу - понял, что надо повесить событие body onLoad просто, я правильно понял? |
1) Math.round(Math.random()*20)
2) насколько я понял ответ: "для этого нету причин" |
Не могу понять, почему не работает - вроде все директории и файлы есть, путь правильный...
var img_name = "" var img_dir = "images"; var img_suffix = "x" var img_ext = ".png"; var result = ""; img_name= Math.round(Math.random()*20); result = img_dir + "/" + img_suffix + img_name + img_ext function changeBg(){ document.getElementsByTagName('body')[0].style.backgroundImage="url('result')" } |
когда не можешь понять, надо отлаживать: alert или console.log (firebug)
|
насколько я понял
в style.backgroundImage="url('...')" нельзя вставить result. А через что его тогда пихать? innerhtml? |
а чего ты так решил?
|
потому что result становится не функцией, а простым именем файла "result" которого естественно нет.
Не подскажете в какую сторону копать? |
если ты путь "слепить" смог
result = img_dir + "/" + img_suffix + img_name + img_ext то что мешает к нему "долепить" url(...)? p.s. var a = 1; alert('a'); что по-твоему должно вывести? |
Часовой пояс GMT +3, время: 00:35. |