TabMenu

Napisałem z nudów skrypt menu (zakładek). Nic specjalnego, ale na forum Webhelp często pojawiały się pytania o takie skrypty. Kod nie jest optymalny, sporo rzeczy można poprawić. Zrobię to w wolnej chwili. Oczekuję Waszych propozycji odnośnie nowych funkcjonalności i zmian do obecnej wersji. Propozycje proszę pozostawiać w komentarzach lub pisać na maila.

Skrypt w akcji można zobaczyć na przykładowej stronie

Jak korzystać ze skryptu?

  1. Wrzucamy plik TabMenu.js na serwer
  2. Do dokumentu z menu wstawiamy w nagłówku
    <script type="text/javascript" src="TabMenu.js"></script>
  3. Pod elementami składającymi się na menu wstawiamy
    <script type="text/javascript">
    t=new TabMenu(tabLinks,active,fns})
    </script>

Objaśnienia argumentów konstruktora

  • tabLinks - tutaj podajemy String będący identyfikatorem elementu strony, który zawiera w sobie linki odnoszące się do odpowiednich zakładek
  • active - tutaj wstawiamy identyfikator zakładki, która ma być domyślnie aktywna po załadowaniu się skryptu
  • fns - tutaj oczekiwany jest obiekt, w którym możemy zdefiniować sobie kilka przydatnych funkcji:
    • onActivate - funkcja wywoływana jest w momencie aktywacji jednej z zakładek. Przekazywane argumenty są kolejno referencją do odnośnika odpowiedzialnego za aktywację zakładki oraz referencją do aktywowanej zakładki
    • onDeactivate - funkcja wywoływana jest w momencie deaktywacji (zamknięcia) jednej z zakładek. Przekazywanymi argumentami są kolejno referencja do odnośnika skojarzonego z daną zakładką oraz referencja do ukrywanej zakładki

Obecnie wszystkie argumenty są wymagane. Jeśli nie chcesz definiować własnych funkcji onActivate oraz onDeactivate wpisz pusty obiekt (tj. {}). Poprawie tę niedogodność przy najbliższej aktualizacji.

Jeśli chodzi o strukturę dokumentu, to można zobaczyć na przykładowej stronie, choć nic nie stoi na przeszkodzie, żeby ją zmienić wg. własnych upodobań.

Skrypt posiada jeden mały bajer. Na przykładowej stronie proszę otworzyć jeden z odnośników (np. LINK 3) w nowej zakładce i proszę zobaczyć, która zakładka jest aktywna.

Licencja

Skrypt jest darmowy. Jedynym wymogiem legalnego użytkowania jest pozostawienie w pliku TabMenu.js niezmienionej notki autorskiej. Mile widziane e-maile z adresami stron, gdzie skrypt znalazł zastosowanie.

Poprawiłem nieco skrypt. Teraz powinien działać poprawnie także w Internet Explorerze.


Kategorie: JavaScript 02 listopada 2006, 13:04:41 4 komentarze

Komentarze dla notki “TabMenu”

  1. Htsz - 04 grudnia 2006, 02:28:36

    trzeb to dopracowac ;) pod Ie nie śmiga, ta przegladarka jak wiadomo jeszcze dominuje

  2. Rafael - 04 grudnia 2006, 19:32:00

    Oops, gdzieś popełniłem błąd. Ale faktem jest, że IE nawet nie odpaliłem do przetestowania tego skryptu ;-P

  3. Rafael - 19 grudnia 2006, 22:28:28

    Dobra, zgodnie z tym co dopisałem do newsa – poprawiłem skrypt tak, że działa także w IE. Błąd polegał na tym, że nie sprawdziłem co IE zwraca w metodzie getAttribute(‘href’) dla odnośników.

  4. Vino - 27 lipca 2007, 16:57:01

    Działa wam pod Operą ?

Pozostaw komentarz

Copyright © 2003-2011 Rafał Kukawski. Powered by Jogger | RSS Subskrybuj