Случайное фоновое изображение тела

Я пробовал несколько учебников в Интернете, и ни один из них не работает должным образом. То, что я пытаюсь сделать, довольно просто, я думаю:

У меня есть 9 разных изображений .jpg, которые мне нужно случайным образом отображать при загрузке страницы - чтобы они были фоном. Это должно быть довольно просто, верно?

Спасибо,

РЕДАКТИРОВАТЬ (извините, забыл прикрепить код - нашел в сети):

$(document).ready(function(){

    bgImageTotal=9;

    randomNumber = Math.round(Math.random()*(bgImageTotal-1))+1;

    imgPath=('../img/bg/'+randomNumber+'.jpg');

    $('body').css('background-image', ('url("'+imgPath+'")'));

});

person asirgado    schedule 11.01.2012    source источник
comment
Обычно предпочтительнее, если вы публикуете какой-то код, который вы пытались использовать, но который не будет работать, а не просто просите людей написать его для вас.   -  person James Montagne    schedule 12.01.2012
comment
Правда, извините.. забыл прикрепить код.   -  person asirgado    schedule 12.01.2012
comment
Да, все будет зависеть от того, какой язык вы используете в отношении того, как вы это сделаете.   -  person Paul    schedule 12.01.2012
comment
Опубликованный код предполагает, что ваши изображения хранятся в папке с именем img, которая находится на том же уровне, что и папка, в которой находится ваш html, внутри подпапки с именем bg. Также предполагается, что ваши изображения называются 1.jpg, 2.jpg и т. д. Это все правда?   -  person James Montagne    schedule 12.01.2012


Ответы (2)


Ознакомьтесь с этим руководством: http://briancray.com/2009/12/28/simple-image-randomizer-jquery/

Сначала создайте массив изображений:

var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg'];

Затем установите случайное изображение в качестве фонового изображения:

$('body').css({'background-image': 'url(images/' + images[Math.floor(Math.random() *      images.length)] + ')'});

Это должно работать без проблем.

person Jesse Pollak    schedule 11.01.2012
comment
Как мне назвать свою функцию? Я не привык к javascript, спасибо. - person asirgado; 12.01.2012
comment
вам не нужно вызывать функцию, просто поместите ее внутри тега jQuery $(document).ready(function() {}. - person Jesse Pollak; 12.01.2012
comment
Да, это работает! У меня возникла проблема со ссылкой скрипта на jQuery. Я не связывал библиотеку в первую очередь. Спасибо! - person asirgado; 12.01.2012
comment
Нет проблем, рад, что смог помочь. Если вы можете, я был бы очень признателен за принятый ответ! - person Jesse Pollak; 12.01.2012

используя jQuery: $("body").css("background-image", "url(" + Math.floor(Math.random()*9) + ".jpg)");

Предполагается, что ваши изображения имеют имена от 0.jpg до 8.jpg и находятся в том же каталоге, что и ваша страница.

person ChrisiPK    schedule 11.01.2012