2010-08-10 2 views

ответ

3

Простой 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" /> 
+0

Есть ли способ сделать это в JavaScript без использования jQuery? – Mayur

+0

@Mayur: Я добавил пример о том, как это сделать без jQuery. Обратите внимание, что я не тестировал его, поэтому вам может потребоваться отладка до его работы;) – Wolph

+0

Конечно! Спасибо .. – Mayur

2

Jquery Cycle действительно гибкий ... вы могли бы подключить его к тому, что вы уже отметили довольно легко.

+0

Есть ли способ сделать это в JavaScript без использования JQuery? – Mayur

+0

Конечно, я имею в виду, что jQuery - это просто библиотека javascript. Его просто больше времени и я обязан быть более склонным к ошибке. Я уверен, что если вы ищете «javascript slideshow», вы найдете несколько руководств по реализации чего-то подобного, но у вас не будет гибкости, которую вы получите из коробки с помощью цикла или чего-то подобного на основе другой библиотеки, такой как PrototypeJS. – prodigitalson

+1

О, извините, я думаю, что мы все пропустили ваш тег 'homework'. – prodigitalson

0

Есть много способов сделать это в наше время, но один простой путь, используя следующий JQuery плагин :

http://jquery.malsup.com/cycle/

Вот простая демонстрация в действии, затухающие изображения один за другим.

http://jquery.malsup.com/cycle/basic.html

+0

Есть ли способ сделать это в JavaScript без использования jQuery? – Mayur

0

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