[identity profile] neonick-krd.livejournal.com posting in [community profile] useful_faq
Здарствуйте, извините за откровенное ламерство, но мне нужна помощь в java-script/

Необходим код, который грузил бы рандомную картинку(допустим из 20 имеющихся) из заданной папки с сервера.

Знаю что там всего пару строк, но что-то у меня не получается...

Нагуглил только вот что-то такое невнятное...

Спасибо!

Date: 2008-09-06 06:54 am (UTC)
From: [identity profile] legrus.livejournal.com
Прежде всего, список картинок с сервера вы не получите. Так что нужно знать его заранее.
Потом примерно так:

<img src="" id = "random_image">
<script language="javascript">
var images = ["/img/123.jpg", "/img/456.jpg"б "/img/789.jpg"];
var rand_no = Math.floor(images.length*Math.random());
document.getElementById('random_image').src=images[rand_no];
</script>

Re

Date: 2008-09-06 07:01 am (UTC)
From: [identity profile] granite-golem.livejournal.com
А разве нельзя пробежаться по заданной папке с маской, чтобы получить все нужные файлы в ней?

Re: Re

Date: 2008-09-06 07:37 am (UTC)
From: [identity profile] legrus.livejournal.com
javascript работает на клиенте. Если сервер не даст вам списка файлов, вы его не получите. Я описал случай, когда вы пишете просто html-файлик, в постановке задачи ж ничего не было про серверный код.

Re

Date: 2008-09-06 09:20 am (UTC)
From: [identity profile] granite-golem.livejournal.com
Да, проще всего, конечно, эти картинки в массиве переписать.

Re

Date: 2008-09-06 07:01 am (UTC)
From: [identity profile] granite-golem.livejournal.com
Общая идея такая: сначала собрать все картинки из заданной папки в массив, потом случайно выбрать одну из них, после чего обратиться к тому элементу на странице, который за эту картинку отвечает (img, судя по всему), и вписать ему в src нужную ссылку из того массива.

А, и вызывать эту функцию по тому событию, которое должно перегружать картинку.
Edited Date: 2008-09-06 07:02 am (UTC)

Re

Date: 2008-09-06 09:21 am (UTC)
From: [identity profile] granite-golem.livejournal.com
Про события вы что знаете? Как вы хотите выставлять рандомную картинку? После загрузки страницы, после клика на что-нибудь?

Re

Date: 2008-09-07 07:15 am (UTC)
From: [identity profile] granite-golem.livejournal.com
Значит, вешаете вызов этой функции на событие "onload" тэга "body":

<body onload="showRandomPicture();">
...тут всякий код
<img src="" id="random_image" />
... тут еще код
</body>

Re

Date: 2008-09-07 07:58 am (UTC)
From: [identity profile] granite-golem.livejournal.com
В принципе тэг img можно и не закрывать, но тогда некоторые парсеры на нем спотыкаются. А браузеры, как правило, показывают нормально.

Со скриптом проблем больше не возникает?