Перейти к содержимому



Установка 2 одинаковых скриптов на 1 странице

#1 volkan
volkan
  • Неактивные
  • 10 сообщений
  • Репутация: 0
0

Отправлено 03 Июнь 2013 - 14:25

Всем привет. Имеется простой скрипт фотогалереи. Необходимо на одной странице разместить несколько таких блоков с галереями. Каждая из них должна содержать свои фото и управляться независимо от нажатий на кнопки в других галереях. Подскажите, пожалуйста, как придать каждому скрипту уникальность, чтобы он не зависел от других?

Сам скрипт:
<?php
/**
* Класс фото-галереи на сайт
*/
class Gallery {
	public function getGallery() {
		//Выбираем все содержимое папки images, и записываем из в массив $files
		$files = scandir("images/");
		$gallery_files = array();
		foreach ($files as $key => $value) { //Проходим по массиму
			//Проверяем файл или нет, если файл, то:
			if (filetype("images/" . $value) == "file") {
				$gallery_files[] = $value;  //Записываем в массив
			}
		}
		return $gallery_files; //Возвращаем массив
	}
}
$obj = new Gallery();
$gallery = $obj->getGallery();
?>
<img src="" alt="" id="gallery" />
<div id="number_img"></div>
<a href="javascript:void(0)" onclick="backImg(); this.blur();">Назад</a> /
<a href="javascript:void(0)" onclick="nextImg(); this.blur();">Вперед</a>
<script type="text/javascript">
	var images = new Array();
	var current_image_key = 0; //Переменная содержит номер текущей фотографии
<?php
foreach ($gallery as $key => $file) { //Проходим по всем фотографиям
	echo "images[$key] = new Image();nr"; //Создаем новый объект Images
	echo "images[$key].src = './images/$file';nr"; //Записываем путь к фотографии
}
?>
/**
* Функция обновляет текущее изображение, и его номер
*/
function refreshImage() {
	//Изменяем изображение на текущее
	document.getElementById("gallery").src = images[current_image_key].src;
   //Изменяем надпись под изображением
	document.getElementById("number_img").innerHTML =
		(current_image_key+1) + " из " + images.length
}
/**
* Следующая фотография
*/
function nextImg() {
	current_image_key++; //Увеличиваем текущую фотографию на 1
   //Если достигнут конец, то делаем первую фотографию текущей
	if (current_image_key >= images . length) current_image_key = 0;
	refreshImage(); //Обновляем фотографию
}
/**
* Предыдущая фотография
*/
function backImg() {
	current_image_key--; //Уменьшаем текущую фотографию на 1
   //Если достигнуто начало, то делаем последнюю фотографию текущей
	if (current_image_key < 0) current_image_key = images . length - 1;
	refreshImage(); //Обновляем фотографию
}
refreshImage(); //Обновляем фотографию
</script>

 

 

  • 0



Похожие темы
  Название темы Автор Статистика Последнее сообщение

× Быстрый вопрос
Пользователь месяца
Rodiola Rodiola 1-й за Август
Очков активности: 1 552 3 темы, 106 сообщений, 9 баллов репутации
Сайт: rukodelkovo.ru
ТОП самых активных за этот месяц
  • Фотография MattCutts
    #1

    MattCutts (dmitrylee.ru)
    Очков активности: 918 6 тем, 84 сообщения, 6 баллов репутации

  • Фотография Андрей WPM
    #2

    Андрей WPM (wpmaster.kz)
    Очков активности: 462 Вне конкурса за определение пользователя месяца

  • Фотография lena220678
    #3

    lena220678
    Очков активности: 40.5 2 темы, 21 сообщение, 1 балл репутации

  • Фотография Chaser
    #4

    Chaser (majento.ru)
    Очков активности: 33 1 тема, 8 сообщений, 2 балла репутации

  • Фотография BLIK
    #5

    BLIK
    Очков активности: 27 0 тем, 18 сообщений, 1 балл репутации

  • Фотография Rodiola
    #6

    Rodiola (rukodelkovo.ru)
    Очков активности: 24 Вне конкурса за определение пользователя месяца

  • Фотография maxnik
    #7

    maxnik (konovalovpavel.ru)
    Очков активности: 24 0 тем, 8 сообщений, 2 балла репутации

  • Фотография Constantine
    #8

    Constantine (constantine.video.blog)
    Очков активности: 19.5 2 темы, 7 сообщений, 1 балл репутации

  • Фотография Megoydagi
    #9

    Megoydagi (24ho.ru)
    Очков активности: 18 1 тема, 9 сообщений, 1 балл репутации

  • Фотография NataliaAntalia
    #10

    NataliaAntalia (zdorovemedicina.ru)
    Очков активности: 15 0 тем, 10 сообщений, 1 балл репутации

  • Показать весь ТОП 10
Поддержите форум! =)
Апдейты
  • Яндекс ИКС: 27.08.2019
  • Яндекс выдача: 20.09.2019
Топ 5 участников по репутации

Оформление форума – IPBSkins.ru