Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pokaz slajdów na stronie
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
juzekmj
Cześć, mam mały problem z powodu mojej niewiedzy na temat JS smile.gif Chciałbym zrobić prosty pokaz slajdów na stronie.

funkcja "imgtoggle('slide2')" zmienia display diva o nazwie slide1 na none i display diva o nazwie slide2 na block, a "imgtoggle('slide1')" odwrotnie. Chciałbym żeby te funkcje były wywoływane na przemian co 2 sekundy.

Napisałem coś takiego:
CODE
function imgtime()
{
setInterval("imgchange1()", 2000)
}

function imgchange1()
{
if (document.getElementById('slide1'))
{ imgtoggle('slide2'); }
else
{ imgtoggle('slide1'); }
}


więc skoro "imgchange1()" powinien wywoływać się co 2sek, to czemu po automatycznym wyświetleniu diva Slide2 i schowaniu Slide1, nie zmienia się on znowu na Slide1 po 2 sekundach? Funkcja wykonywana jest tylko raz.


prosze o pomoc smile.gif

ps. może getElementById działa tylko raz, przy wczytywaniu strony?
nospor
zmiana display w żaden sposób nie wpływa na document.getElementById().
Tak więc document.getElementById dla danego diva zawsze zwróci ten div, niezależnie czy jest on ukryty czy nie.
juzekmj
Dzięki za wskazówke! poprawiłem skrypt, ale operacja nadal wykonuje się tylko raz...
CODE
function imgtime()
{
setInterval("imgchange1()", 2000)
}

function imgchange1()
{
if (slide2.style.display= "none")
{ imgtoggle('slide2'); }
else
{ imgtoggle('slide1'); }
}


nospor
rozróżniaj = od ==

a dwa to niby skąd skrypt ma ni stąd nie zowąd wziąść sobie slide2
slide2.style...
no chyba, że ty gdzieś wcześniej tę zmienną slide2 określasz
juzekmj
Działa! wielkie dzięki i sorry za tak głupie pytanie, dopiero sie ucze smile.gif

oto gotowy kod gdyby ktoś potrzebował
CODE
function imgtime()
{
setInterval("imgchange1()", 2000)
}

function imgchange1()
{
var imgch=document.getElementById('slide2');
if (imgch.style.display== "none")
{ imgtoggle('slide2'); }
else
{ imgtoggle('slide1'); }
}
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.