[JAVASCRIPT] zmiana background image po klikaniu bez konca


(pain3hp) #1

Nie wiem jak zrobic skrpyt JS aby zmieniał obrazek po kliknieciu

Remonty[/code]


jak w to klikne ma sie zmienic na

[code]
zrobilem cos takiego

function ZmienStrzalke(id_strzalki)

    {

        var imgPath = new String();

        imgPath = document.getElementById(id_strzalki).style.backgroundImage;

        var jaka_strzalka = 1;

        if(jaka_strzalka == 1)

        {

            document.getElementById(id_strzalki).style.backgroundImage = "url(images/strzalka-gora_08.png)";


        }

		if(jaka_strzalka == 2){

			document.getElementById(id_strzalki).style.backgroundImage = "url(images/strzalka-dol_08.png)";


		}

    }

działa to tylko na jedno klikniecie :confused:

zrobilem ta zmienna jaka_strzalka i dalem jej 1 bo myslalem ze jak sie zmieni to potem dam jej wartosc 2 a potem jak sie zmieni to znowu 1 i tak dalej... Ale jak to zrobilem to działa tylko na jedno kliknięcie :confused: potem sie klika a obrazek sie nie zmienia

Próbowałem z tego http://programming.top54u.com/Samples/J ... fault.aspx

tutaj jest pobieranie ścieżki do obrazka ale to też działa na jednego klika nawet widać w przykładzie :confused:

Jak zrobić by to działało bez końca? i w ogóle działało, Nie chcę jquery

Baaardzo mi na tym zależy, gdyby ktoś pomógł to dziękuję


(Zbyszekborkowski) #2

Zmienną 'jaka-strzalka' wyrzuć przed ciało funkcji, zmieni się wówczas jej zasięg, a wartość nie będzie się zmieniać po wywołaniu Twojej funkcji.

Na końcu funkcji powiększaj zmienną o 1, a przy sprawdzaniu warunków sprawdzaj, czy jest parzysta, czy nieparzysta.


(pain3hp) #3

Wielkie dzięki, jednak mam duże braki w programowaniu :]

Mam kolejne pytanie, jak wywołać zależności aby tylko jedna zakładka w menu mogła być rozwinięta. Gdy jedna jest rozwinięta a następna ma rowniez byc rozwnięta to niech wszystkie inne się zwiną.

Moj kod js:

var jaka_strzalka = 1;

function PokazListe(id_listy)

{

var lista = document.getElementById(id_listy);

var view = lista.style.display;

if (view == "block")

{lista.style.display = "none";

jaka_strzalka = 2;}

if (view == "none")

{lista.style.display = "block";

jaka_strzalka = 1;}

}


function ZmienStrzalke(id_strzalki){

if(jaka_strzalka == 1) {

		document.getElementById(id_strzalki).style.backgroundImage = "url(images/strzalka-gora_08.png)";}

else {

		document.getElementById(id_strzalki).style.backgroundImage = "url(images/strzalka-dol_08.png)";}

}

(Zbyszekborkowski) #4

Na Twoim miejscu menu oparłbym na CSS. Jeśli nie wymaga żadnych animacji przy rozwijaniu, to JavaScript nie jest potrzebny.


(pain3hp) #5

a osiągniesz taki efekt w cssie? to daj przykład