DiVeRgEnT wrote:
> DiVeRgEnT wrote:
>> Imam malu hide-show JS skripticu:
>>
>>
>> function hideshow(which){
>> if (!document.getElementById)
>> return
>> if (which.style.display=="block")
>> which.style.display="none"
>> else
>> which.style.display="block"
>> }
>
>
> Promijenio sam kljucne rijeci pretrage u dodavanje i micanje klase na
> click (umjesto forsiranje a:active stanja) i nasao 3-4 skriptice koje na
> JSfiddle super rade, ali kod mene to ne radi. Mozda se kod kolje s ovim
> gore show/hide kodom?
Pa da nastavim raspravu sam sa sobom...
Skuzio sam zasto ove toogle skriptice ne rade. Prvo, sve koje imaju
dolar ispred, to je sve JQuery. :-)
Drugo, ovo sto je cisti javascript, kod treba staviti ISPOD tih linkova.
E sad sam upogonio jos jednu bolju funkciju. Ne samo da dodaje i mice
class na onclick event istog linka, nego mice class i kad kliknem na
DRUGI link, a tom drugom dodaje class.
Znaci, kliknem na .link #prvi, on mu doda class .active. Kliknem na
.link #drugi, on linku 1 makne .active, a linku 2 doda .active.
function toggleItem(elem) {
for (var i = 0; i < elem.length; i++) {
elem[i].addEventListener("click", function(e) {
var current = this;
for (var i = 0; i < elem.length; i++) {
if (current != elem[i]) {
elem[i].classList.remove('active');
} else if (current.classList.contains('active') === true) {
current.classList.remove('active');
} else {
current.classList.add('active')
}
}
e.preventDefault();
});
};
}
toggleItem(document.querySelectorAll('.link'));
Super, ali sad ne radi ona gore show-hide funkcija. :-)
Pa tko se razumije, molim da mi spoji te dvije funkcije da mogu
istovremeno raditi. A bilo bi super da onda i show-hide radi istu stvar
- da ne moram kliknuti isti link da sakrije DIV, nego i ako kliknem i
drugi link da sakrije prvi div, a prikaže taj drugi.