Autor Zpráva
AlastorM
Profil
Snažím se vytvořit automatickou slideshow.
na webu mám několik ikonek a jeden velký obrázek - kliknutím na ikonu se obrázek změní. Dále mám tlačítko, které spustí automatickou slideshow. Jelikož se dá obrázek měnit ikonkama, na začátku nastavím obrázek číslo 1 - tato část funguje - obrázek se nastaví.

var number = 1; // první obrázek
var maxnumber = 8; //celkový počet obrázků
function startslideshow() {
document.getElementById("img").src = "../fotokolekce/kolekce1/"+number+".jpg";

v další části jsem zkoušel vytvořit změnu obrázku, když mám nastavený obrázek 1, ale obrázky se nějak nemění, rád bych tedy požádal o radu s touto částí, kde je chyba

var item = 0;
for( var i=1; i<=maxnumber; i++ ) {
    var item = i;
    item = item + 1;
    document.getElementById( 'img' ).src = "../fotokolekce/kolekce1/"+item+".jpg";
if( item > maxnumber ) { item = 1; }
document.getElementById( 'img' ).src = "../fotokolekce/kolekce1/"+item+".jpg";
setTimeout( 'startslideshow()', 20000 );
}

Celé to vypadá takto

var number = 1;
var maxnumber = 8;
function startslideshow() {
document.getElementById("img").src = "../fotokolekce/kolekce1/"+number+".jpg";
}
var item = 0;
for( var i=1; i<=maxnumber; i++ ) {
    var item = i;
    item = item + 1;
    document.getElementById( 'img' ).src = "../fotokolekce/kolekce1/"+item+".jpg";
if( item > maxnumber ) { item = 1; }
document.getElementById( 'img' ).src = "../fotokolekce/kolekce1/"+item+".jpg";
setTimeout( 'startslideshow()', 20000 );
}
weroro
Profil
Upravil by som to takto:
var intervalTime = 20000;
var imgItem = 1;
var imgMax = 8;
var imgElement = document.getElementById("img");

function changeImage () {
    imgElement.src = '../fotokolekce/kolekce1/' + imgItem + '.jpg';
    imgItem++;
    if (imgItem > imgMax) imgItem = 1;
}

setTimeout(changeImage, intervalTime);
AlastorM
Profil
Děkuji za radu, nevzal jsem to celé, jen jsem dle toho upravil původní skript a funguje to, díky moc

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0