Добрый день!
С лайтбоксом вроде разобралась - у меня Wordpress, прицепила плагин Lightbox2 для WP, там нужно для картинок одной группа добавить rel=lightbox[имя_группы], и все картинки должны быть выведены на страничке, из папки нельзя взять.
Сделала следующее:
Вывела все картинки из папки на страницу с display:none, первую картинку показала, а следующие показываются в слайд-шоу и в лайтбоксе. Вернее должны показываться... с лайтбоксом все работает, а вот со слайд-шоу не очень... Показывается первая картинка, потом идет смена, но тоже не первую картинку и т.д., т.е. показывается только одна картинка, затем, через неопределенное время показывается следующая и опять меняется на нее же. Не пойму, где ошибка...
Все усложняется еще тем, что у меня 10 разных слайд-шоу из 10 разных папок, решила загнать все в цикл, вывести в таблице, в общем, сильно модифицировала код...
Пример здесь - xn--h1adclaew.photo
Не знаю, как добавить код во вложении, выведу здесь:
PHP код:
<?php
$dir = array ('Gallery/01-Potolki_v_gostinnuyu/', 'Gallery/02-Potolki_v_spalnu/', 'Gallery/03-Potolki_v_kuhnu/', 'Gallery/04-Potokki_v_detskuyu/', 'Gallery/05-Potolki_v_vannuyu/', 'Gallery/06-Mnogourovnevye_potolki/', 'Gallery/07-Potolki_fotopechat/', 'Gallery/08-Potolki_s_podsvetkoi/', 'Gallery/09-Mnogocvetnye_potolki/', 'Gallery/10-Ekskluzivnye_potolki/'); //список папок для слайд-шоу
$cols = 5; //колонки таблицы
$k = 0;
echo "<table border='5'>"; //выводим таблицу
for ($f = 0; $f < 10; $f++)
{
if ($k % $cols == 0) echo "<tr>"; // Добавляем новую строку
echo "<td>"; // Начинаем столбец
$files = scandir($dir[$f]); // Берём всё содержимое директории
echo "<script type='text/javascript'>"; //скрипт слайд-шоу
$array_to_js='var imgs'.$f.' =['; //так как слайд-шоу много, добавляем номер по порядку к переменной imgs
for ($o=2; $o<=sizeof($files)-1; $o++) {
$array_to_js.='"'.$dir[$f].$files[$o].'",';
}
echo substr($array_to_js,0,-1).'];';
echo "var n=0;
var time=800;
play=setInterval('chgImg$f()', 3000);
function chgImg$f() {
$('#slide_show$f').fadeOut(time, function() {
$(this).parent('a').attr('href', imgs".$f."[n]);
$(this).attr('src', imgs".$f."[n]).fadeIn(time);
});
n++;
if (n>=imgs$f.length) n=0;
}
</script>";
echo "<div align='center' style='height:110px; overflow:hidden;'>"; //выводим div высотой меньше картинки для скрытия нижней надписи на картинке
echo "<a href='$dir[$f]$files[2]' rel='lightbox[$f]'>"; //ссылка на картинку для открытия в лайтбокс с присваиванием группы
echo "<img src='$dir[$f]$files[2]' id='slide_show$f' width='150' height='120'>"; //вывод первой картинки - в скобках цифра 2 т.к. 0 и 1 - это файлы родительской и текущей директорий, а не картинки
echo "</a>";
echo "</div>";
for ($i = 0; $i < count($files); $i++) { // Перебираем все файлы
if (($files[$i] != ".") && ($files[$i] != "..")) { // Текущий каталог и родительский пропускаем
$path = $dir[$f].$files[$i]; // Получаем путь к картинке
echo "<a href='$path' rel='lightbox[$f]'>"; // Делаем ссылку на картинку
echo "<img src='$path' alt='' width='0' style='display:none;' />"; // Выводим все картинки, но не отображаем их, это нужно для лайтбокса, все картинки должны быть выведены на страничке
echo "</a>"; // Закрываем ссылку
}
}
echo "</td>"; // Закрываем столбец
/* Закрываем строку, если необходимое количество было выведено, либо данная итерация последняя*/
if ((($k + 1) % $cols == 0) || (($i + 1) == count($files))) echo "</tr>";
$k++; // Увеличиваем вспомогательный счётчик
}
echo "</table>"; // Закрываем таблицу
?>
Если есть желание - гляньте кто-нибудь, плиз, что-то я намудрила...