Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Указатель на функцию. Автосмена картинок (https://javascript.ru/forum/project/11449-ukazatel-na-funkciyu-avtosmena-kartinok.html)

Vova_ET 24.08.2010 14:34

Указатель на функцию. Автосмена картинок
 
Здравия Вам господа. Мучаюсь с вопросом. Прошу вашей помощи.

Вот наверное всем известный скрипт смены картинки. Результат - сменяемые картинки возвращает функция SlideShow.

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

каждому разделу соответсвуют определенные картинки:
1я группа условно называется imgbut картинки img00001.jpg, img00002.jpg)
2ая newz = img00001.jpg, img00002.jpg
3я aff = img00001.jpg, img00002.jpg

картинки в каждой группе разные, имена только одинаковые.

Не могу никак понять как создать алгоритм чтобы этот скрипт менял картинку сразу в каждом разделе.

как считаете возможно ли это вообще? или лучше сделать три скрипта для каждой группы?

скрипт
// Set slideShowSpeed (milliseconds) 
var slideShowSpeed = 5000; // время 
var crossFadeDuration = 3; 
var Pic = new Array(); 

Pic[0] = '/imgbut/img00001.jpg' 
Pic[1] = '/imgbut/img00002.jpg' 

var t; 
var j = 0; 
var p = Pic.length; 
var preLoad = new Array(); 

for (i = 0; i < p; i++) { 
preLoad[i] = new Image(); 
preLoad[i].src = Pic[i]; 
} 
function runSlideShow() { 
if (document.all) { 
document.images.SlideShow.style.filter="blendtrans(duration=2)"; 
document.images.SlideShow.style.filter="blendtrans(duration=crossFadeDuration)"; 
document.images.SlideShow.filters.blendtrans.Apply(); 
} 
document.images.SlideShow.src = preLoad[j].src; 
if (document.all) { 
document.images.SlideShow.filters.blendtrans.Play(); 
} 
j = j + 1; 
if (j > (p - 1)) j = 0; 
t = setTimeout('runSlideShow()', slideShowSpeed); 
}

Sweet 24.08.2010 14:38

Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Sweet 24.08.2010 14:39

Vova_ET,
это твой скрипт или дернутый?

Vova_ET 24.08.2010 14:58

найденный в интернете. он почти на всех сайтах скриптохранилищах есть.

ща отформатирую

Sweet 24.08.2010 15:04

А ничего, что этот скрипт будет только в ie работать???
UPD: Вернее анимация будет только в ie

Vova_ET 24.08.2010 15:11

в опере еще тоже работает. и на файрфоксе работет. и даже гугл хром и тот ошибок не выдает. :)

Sweet 24.08.2010 15:16

Чтобы этот скрипт менял 3 галереи, его нужно модифицировать

Vova_ET 24.08.2010 15:21

скрипт работает во всех браузерах. после Ваших слов проверил.

по поводу модификации надо оставить ввод данных, указать массив картинок каждого раздела. и сделать три функции для каждого раздела. правильно я рассуждаю? всё это в теле одно скрипта

Vova_ET 24.08.2010 15:25

скрипт внешний.

результат на странице отображается через id таким образом

<img src="/imgbut/img00001.jpg" width="228" height="202" alt="Искусство" id='SlideShow' ></a>

Sweet 24.08.2010 15:30

Просто я хотел сказать, что фильтры работают только в ie.

Нет, в неправильно рассуждаешь. Функции на то и сделаны, чтобы уменьшить кол-во кода. Правда я считаю, что ТАКОЙ код нужно не модифицировать, а переписывать.. Он блевотный:)


Часовой пояс GMT +3, время: 10:33.