Wpis z mikrobloga

@Vickers213: Teraz przy każdej obsłudze zdarzenia pobierasz elementy z DOMu...
Najpierw je pobierz gdzieś na górze, a później używaj, tak jak zrobiłeś z tabami. Druga sprawa, ogólnie przyjętą praktyką jest operowanie na klasach css, a nie bezpośrednio na stylach, więc zamiast robić style.display, robisz classList.add(classes.hidden);
Na górze możesz sobie zdefiniować classes = { hidden: 'hidden'}, a w css: .hidden { display: none;}
@Vickers213:
1. Nie używaj !important. Psuje on naturalne zachowanie CSSa i powoduje same kłopoty.
2. classList ma metodę remove, więc nie musisz dodawać 2 klas jedna z display: block, druga display: none - jedna właściwość i tak zostanie zignorowana:
https://developer.mozilla.org/pl/docs/Web/API/Element/classList

Otwórz sobie inspektora przeglądarki (F12) i zobacz co się dzieje. Najprawdopodobniej display: none będzie przekreślone i nadpisane przez display: block. ;)
@addr: @Vickers213: W ogóle można to tak napisać, że w zależności, który tab naciśniemy dodawana jest pewna klasa do kontenera, a całą resztę załatwia css. Jeden listener, jedna funkcja obsługi zdarzenia. Trzeba sobie ułatwiać życie, a nie utrudniać. ( ͡° ͜ʖ ͡°)
@Defekt: no ale jak przechodze sobie z ostatniej do pierwszej karty, to musi sie ta ostatnia ukryc a pierwsza dodac, a nie wiadomo z ktorej sie przechodzi na ktora, więc bezpieczniej ukryc wszystkie oprocz tej wlasciwej