Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.05.2009, 18:33   #11
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Видимо, у вас сайт очень долго загружается, так как картинок много. Но предлагается загружать по 1 картинке, т.е:
1. Загрузить 1 картинку.
2. Включить таймер, по срабатыванию которого - перейти на этап 3.
3. Загрузить следующую картинку через AJAX. Если счетчик картинок равен их кол-ву, тогда обнулить счетчик.
4. Перейти на шаг 2.
SkyM@n вне форума Ответить с цитированием
Старый 21.05.2009, 23:37   #12
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Цитата:
Сообщение от Romanbl4 Посмотреть сообщение
По-моему, не нужно мучиться с аяксом, чтобы сделать меняющиеся раз в 10 секунд картинки.

Код:
<head>
<script type="text/javascript">
var images = new Array();
for (i = 0; i < 10; i++)
{
images[i] = 'images/img'+i+'.jpg';
}

function changeImage()
{
document.getElementById('banner').src = images[Math.round((Math.random() * 9))];
}

var changeInterval = setInterval('changeImage()',10000);
</script>
</head>
<body>
....
<img id="banner" src="images/img0.jpg" alt="adv">
....
</body>
я все таки воспользовался твоим скриптом, большое спасибо все работает ОК, но есть одно НО:
я пишу у себя в документе
Код:
<img id="banner" src="1.jpg">
- все работает но если я пишу несколько тэгов то работает только первый

чтобы при открытии документа изначально показались разные картинки а далее по таймеру генерились уже разные я пишу так
Код:
<img id="banner" src="1.jpg"> - работает
<img id="banner" src="3.jpg"> - не работает
<img id="banner" src="5.jpg"> - не работает
как мне сделать так чтобы работали все???
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 21.05.2009, 23:56   #13
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

Все сделал спасибо
Код:
<head>
<script type="text/javascript">
var images = new Array();
for (i = 0; i < 10; i++)
{
images[i] = 'images/img'+i+'.jpg';
}

function changeImage()
{
  for (m=1;m<=9;m++)
document.getElementById(m).src = images[Math.round((Math.random() * 9))];
}

var changeInterval = setInterval('changeImage()',10000);
</script>
</head>
<body>
....
<img id="1" src="images/img0.jpg" alt="adv">
<img id="2" src="images/img0.jpg" alt="adv">
<img id="3" src="images/img0.jpg" alt="adv"> и т.д.
....
</body>
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 22.05.2009, 00:15   #14
Killer_djon
Форумчанин
 
Регистрация: 26.04.2007
Сообщений: 143
По умолчанию

немного подкоректировал функцию рандома
Код:
document.getElementById(m).src = images[Math.floor(Math.random( ) * (36 - 1 + 1)) + 1];
Свободу клавиатурным самураям...
Killer_djon вне форума Ответить с цитированием
Старый 17.01.2013, 22:38   #15
bagfinder
Пользователь
 
Регистрация: 04.02.2009
Сообщений: 38
По умолчанию

В ротации 8 картинок (с 1.jpg по 8.jpg).
Использую следующий скрипт:

Код:
<script type="text/javascript">
var images = new Array();
for (i = 1; i < 8; i++)
{
images[i] = '/rotator/'+i+'.jpg';
}

function changeImage()
{
document.getElementById('banner').src = images[Math.round((Math.random() * 7))];
}

var changeInterval = setInterval('changeImage()',1000);
</script>
Подскажите, почему иногда вылезает undefined?
Из-за множителя? В таком случае, его стоит уменьшить?
Какие вообще параметры изменять (и как) при увеличении количества изображений?

И еще вопрос - каким образом можно сделать так, чтобы одно изображение не появлялось два раза подряд?
bagfinder вне форума Ответить с цитированием
Старый 18.01.2013, 07:19   #16
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

ИМХО - в вашем случае Аякс лишнее....имелось ввиду - когда контента много, вместо того что весь его подгружать и потом случайно отображать - лучше Аякс использовать... но тут подгрузки всех картинок не происходить - ите лишь формирование массива имен файлов.. не думаю что даже 100 файлов будут напрягать....

другое дело когда файлов тысячи.. .и принцип формирования имен не так прост как 1. .2. 3. итд..... тогда Аякс незаменим - обращается к php скрипту - тот из БД или напрямую из папки читает весь массив файлов... выбирает случайный передает js стороне.....

З.Ы. несостоятельны высказывания типа - я Аякс не знаю и знать не хочу... дайте другой совет. Если предлагают использовать - лучше потратить время и изучить данную технологию
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена изображений через определенное время N.i.k.o.l.a.y. Общие вопросы Delphi 22 17.02.2013 21:31
Онлайн на сайте указанное время в секундах, как? FleXik Общие вопросы Delphi 2 10.02.2013 21:53
как вывести время тока в минутах и секундах digital-stream Мультимедиа в Delphi 3 13.03.2012 09:18
Вопроизведение через плеер на сайте музыки из Rar архива на Php ramzes777 PHP 12 08.02.2012 07:59
Заблокировать exe-шник через заданное время nvrrus Общие вопросы C/C++ 16 25.02.2011 20:28