Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.04.2013, 12:22
Интересующийся
Отправить личное сообщение для Gwin Посмотреть профиль Найти все сообщения от Gwin
 
Регистрация: 13.05.2011
Сообщений: 14

Смена картинки по времени
Добрый времени дорогие форумчане. Возник вопрос по JQuery, сразу скажу что весь код не мой, аккуратно позаимствованный с другого сайта.
Код сам по себе меняет картинки по таймеру.
Вопрос, можно ли как нить сделать что бы производилась проверка в папке на наличие изображений. И если файлы отсутствуют то что бы листало то что есть.

function theRotator() {
	// Устанавливаем прозрачность всех картинок в 0
	$('div#rotator ul li').css({opacity: 0.0});
 
	// Берем первую картинку и показываем ее (по пути включаем полную видимость)
	$('div#rotator ul li:first').css({opacity: 1.0});
 
	// Вызываем функцию rotate для запуска слайдшоу, 5000 = смена картинок происходит раз в 5 секунд
	setInterval('rotate()',2000);
}
 
function rotate() {	
	// Берем первую картинку
	var current = ($('div#rotator ul li.show')?  $('div#rotator ul li.show') : $('div#rotator ul li:first'));
 
	// Берем следующую картинку, когда дойдем до последней начинаем с начала
	var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div#rotator ul li:first') :current.next()) : $('div#rotator ul li:first'));	
 
	// Расскомментируйте, чтобы показвать картинки в случайном порядке
	// var sibs = current.siblings();
	// var rndNum = Math.floor(Math.random() * sibs.length );
	// var next = $( sibs[ rndNum ] );
 
	// Подключаем эффект растворения/затухания для показа картинок, css-класс show имеет больший z-index
	next.css({opacity: 0.0})
	.addClass('show')
	.animate({opacity: 1.0}, 1000);
 
	// Прячем текущую картинку
	current.animate({opacity: 0.0}, 1000)
	.removeClass('show');
};
 
$(document).ready(function() {		
	// Запускаем слайдшоу
	theRotator();
});


<ul>
    <li class="show"><a href="http://google.ru/"><img src="1.jpg" width="882" height="366"></a></li>
    <li><a href="http://yandex.ru/"><img src="2.jpg" width="882" height="366"></a></li>
    <li><a href="http://nigma.ru/"><img src="images/image-3.jpg" width="500" height="313"></a></li>
  </ul>


т.е. в li вписать сразу штук 100 картинок и что бы листал то что реально имеется, и не выводил пустой li
Ответить с цитированием
  #2 (permalink)  
Старый 11.04.2013, 12:41
Аватар для bret
Кандидат Javascript-наук
Отправить личное сообщение для bret Посмотреть профиль Найти все сообщения от bret
 
Регистрация: 04.10.2008
Сообщений: 128

Попробуйте вынести изображения в js-массив, перед переключением на новый слайд, который должен содержать это изображение, подгружать его через new Image и если подгрузка не вернула ошибку - добавлять слайд и переходить на него. Тут возможно подлагивание перед переходом на каждый новый слайд. Как вариант - сделать эту проверку перед загрузкой страницы, тогда в начале будет очень сильный лаг, но листаться будут быстро. А вообще, лучше, конечно, иметь дело с картинками, которые на самом деле есть. Как вариант - с помощью серверного языка периодически проверять доступность изображений и удалять те, которые исчезли
__________________
я подыскиваю мозг... твой подойдёт
Ответить с цитированием
  #3 (permalink)  
Старый 11.04.2013, 13:05
Интересующийся
Отправить личное сообщение для Gwin Посмотреть профиль Найти все сообщения от Gwin
 
Регистрация: 13.05.2011
Сообщений: 14

Понял, спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 16.02.2014, 19:41
Новичок на форуме
Отправить личное сообщение для freegas Посмотреть профиль Найти все сообщения от freegas
 
Регистрация: 16.02.2014
Сообщений: 1

Не работает выдаёт на экран 3 картинки и всё
Выдаёт на экран 3 картинки одна под другой и всё. Пробовал в одном html файле всё делать и пробовал отдельный js файл создавать - не работает.
Ответить с цитированием
  #5 (permalink)  
Старый 16.02.2014, 20:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

freegas,
где код?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена картинки по наведению курсора мыши 5 секунд MironM Общие вопросы Javascript 22 27.09.2011 16:39
Ajax смена картинки при нажатии на неё maxim123 AJAX и COMET 1 23.02.2011 14:57
Смена по времени digital_sword jQuery 4 20.08.2010 11:08
Смена картинки (бекграунд дива ) при событии (нажатие клавиш или клавиши и мыши) Monster Events/DOM/Window 5 01.11.2009 01:16
Смена картинки при перезагрузке + наведении Мария Элементы интерфейса 2 22.08.2009 14:57