У меня есть пять изображений и вы хотите отображать их в одном div один за другим с интервалом в 2 секунды. Может кто-нибудь предложить любое решение для этого?Динамически меняющиеся изображения в div
ответ
Простой Javascript пример:
var currentImage = 0;
var images = [
'a.jpg',
'b.jpg'
];
var imageElement = document.getElementById('yourImageTagId');
function nextImage(){
currentImage = (currentImage + 1) % images.length;
imageElement.src = images[currentImage];
}
var timeoutId = setTimeout(nextImage, 1000);
Он ожидает, что вы есть некоторые HTML, как это:
<img src="a.jpg" id="yourImageTagId" />
Jquery Cycle действительно гибкий ... вы могли бы подключить его к тому, что вы уже отметили довольно легко.
Есть ли способ сделать это в JavaScript без использования JQuery? – Mayur
Конечно, я имею в виду, что jQuery - это просто библиотека javascript. Его просто больше времени и я обязан быть более склонным к ошибке. Я уверен, что если вы ищете «javascript slideshow», вы найдете несколько руководств по реализации чего-то подобного, но у вас не будет гибкости, которую вы получите из коробки с помощью цикла или чего-то подобного на основе другой библиотеки, такой как PrototypeJS. – prodigitalson
О, извините, я думаю, что мы все пропустили ваш тег 'homework'. – prodigitalson
Есть много способов сделать это в наше время, но один простой путь, используя следующий JQuery плагин :
http://jquery.malsup.com/cycle/
Вот простая демонстрация в действии, затухающие изображения один за другим.
Есть ли способ сделать это в JavaScript без использования jQuery? – Mayur
setTimeout
Вы можете сделать что-то вроде этого.
function selectData(currentIndex) {
// select current's element "display" to "none" and show next element
...
// schedule next change in two second
setTimeout("selectData(" + nextIndex + ");", 2000);
};
Я предполагаю, что все изображения внутри, что Див уже и есть стиль display:none
Есть ли способ сделать это в JavaScript без использования jQuery? – Mayur
@Mayur: Я добавил пример о том, как это сделать без jQuery. Обратите внимание, что я не тестировал его, поэтому вам может потребоваться отладка до его работы;) – Wolph
Конечно! Спасибо .. – Mayur