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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2008, 14:37   #1
brenfire
 
Регистрация: 07.08.2008
Сообщений: 4
По умолчанию непрерывная смена большого количества фотографий

Ребят подскажите или напишите цикл
у меня есть определенной количество фотографий. допустим их много. мне нужно написать цикл, чтобы они показывались одна за другой и после последней снова шла первая.(это уже написано ниже)
Как изменить этот код( вставить цикл), чтобы не вбивать путь каждой фотографии. Смысл в чем, если я потом изменяют пару цифр(количество фотографий), и меняю фотографии, но с такими же именами то уже показываются они.
PHP код:
<html>
<
head>
<
title>Анимация и JavaScript</title>

<!-- 
Данный скрипт надо поместить в заголовке документа -->
<
script language="JavaScript">
<!--
i=0;
img_a=new Array();   // Объявляется массив
img_a[0]=new Image();
img_a[1]=new Image();
img_a[2]=new Image();
img_a[3]=new Image();
img_a[4]=new Image();
img_a[5]=new Image();

img_a[0].src="PreView/11.jpg"// Каждому элементу 
img_a[1].src="PreView/12.jpg"// массива присваивается
img_a[2].src="PreView/13.jpg"// конкретная картинка
img_a[3].src="PreView/21.jpg";
img_a[4].src="PreView/22.jpg";
img_a[5].src="PreView/23.jpg";

function 
img_b()     // описывается функция последовательного
                     // вывода картинок
{
document.images[1].src=img_a[i].src;

i++;
if(
i>5i=0;
setTimeout("img_b()"1000); // Тут задается в миллисекундах
                             // частота мелькания кадров.
                             // В данном случае кадры
                             // меняются каждую секунду
}
//-->
</SCRIPT>
<!-- Скрипт закончен -->

</head>

<!-- В теге <body> помещаем вызов нашей функции -->

<body bgcolor="#ffffff" onLoad=img_b()>

<img src="PreView/12.jpg">



</body>

</html> 

Последний раз редактировалось Stilet; 07.08.2008 в 15:44.
brenfire вне форума Ответить с цитированием
Старый 07.08.2008, 16:00   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Если имя файла формируется по принципу: PreView/N.jpg, где N - порядковый номер, то можно записать так:
Цитата:
var start_num = 1; // идекс 1-й фотки
var N = 20; // количество фоток
img_a = new Array();
for ( i = 0; i < N; i++ )
{
img_a[i] = new Image();
img_a[i].src = "PreView/" + (i + start_num) + ".jpg";
}
Arigato вне форума Ответить с цитированием
Старый 07.08.2008, 17:06   #3
brenfire
 
Регистрация: 07.08.2008
Сообщений: 4
По умолчанию

Спасибо, значит я из первоначального года могу убрать массив, что еще? А что оставить?
brenfire вне форума Ответить с цитированием
Старый 07.08.2008, 20:57   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

Я Вам показал, как можно сформировать массив картинок по индексам, а
Цитата:
что еще? А что оставить?
Это Вы сами решайте.
Arigato вне форума Ответить с цитированием
Старый 08.08.2008, 08:51   #5
brenfire
 
Регистрация: 07.08.2008
Сообщений: 4
По умолчанию не получилось

Посмотри, пожалуйста, что неправильно пунктуация или переменная не там стоит
Код HTML:
<html>

<head>
  
<!-- Данный скрипт надо поместить в заголовке документа -->



<script language="JavaScript">

<!--

var start_num = 1; // идекс 1-й фотки
var N = 20; // количество фоток
img_a = new Array();
for ( i = 0; i < N; i++ )
{
img_a[i] = new Image();
img_a[i].src = "file:///C:/Documents and Settings/root/Рабочий стол/homepage/фотографии/" + (i + start_num) + ".jpg";
} 



//} 

function img_b()      
                     
{
document.images[1].src=img_a[i].src;

i++;
if(i>20) i=0;
setTimeout("img_b()", 2000); // Тут задается в миллисекундах 
                             // частота мелькания кадров. 
                             // В данном случае кадры 
                             // меняются каждую секунду
}
//-->
</SCRIPT>

</head>
<body background="fon.png" onLoad=img_b()>


<img src="file:///C:/Documents and Settings/root/Рабочий стол/homepage/фотографии/1.jpg" height=200>


</body>

</html>

Последний раз редактировалось AlDelta; 08.08.2008 в 09:08.
brenfire вне форума Ответить с цитированием
Старый 08.08.2008, 11:23   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,544
По умолчанию

А такая ссылка с русскими буквами:
Код:
file:///C:/Documents and Settings/root/Рабочий стол/homepage/фотографии/
обработается корректно? Попробуйте положить картинки в папке с латинским названием.
Arigato вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт приема фотографий на печать через форму на сайте Hellog PHP 8 29.01.2009 16:25
непрерывная смена фотографий в разных папках. brenfire Общие вопросы по Java, Java SE, Kotlin 0 07.08.2008 14:39
Excel глюкает из-за большого количества формул и связей между листами? Diva Microsoft Office Excel 1 07.08.2008 11:52
ай нид хелп меню для каталога фотографий Чайник PHP 8 12.04.2008 16:26
каталог фотографий mager PHP 8 27.03.2008 22:43