Autor Zpráva
Sylar
Profil
Zdravím,
lze nějak jednoduše překlikávat v tabech na stránce pomocí url adres s označením ID tabu na konci? Pokud kliknu na záložku #1, načte se mi adresa www.stranka.cz/stranka/#tab1, u druhého tabu to bude www.stranka.cz/stranka/#tab2 . Když na taby klikám na stránce vše je OK, ale potřebuji docílat toho, aby když do adresního řádku zadám přímo www.stranka.cz/stranka/#tab2, načetla se mi stránka a zobrazil rovnou tab č. 2.
Má to takto udělána např. alza.cz u produktů, ale na můj vkus dost složitě. Nemá někdo zkušenost s jednodušším řešením?
Joker
Profil
V PHP není potřeba snad nic, jen se Javascriptem získá název záložky a pak se zviditelní.
Sylar
Profil
Joker:
máš pravdu, javascriptem jsem to vyřešil.
Tady je kód, kdyby později někdo potřeboval.

<script type="text/javascript">
  function tabs(tab) {
    $("a.tab").removeClass("active");
    $("div.tab").removeClass("active");
    
    $("a#tab_a_" + tab).addClass("active");
    $("div#tab_" + tab).addClass("active");
  }
  
  $(document).ready(function() {
    tab = location.href.split("#")[1];
    if (tab) tabs(tab);
  });
</script>
Chamurappi
Profil
Reaguji na Sylara:
location.href.split("#")[1];
Proč ne location.hash.substr(1)?
Chybí ti tam var.
Sylar
Profil
Chamurappi:
protože jsem location.hash.substr(1) neznal :) díky

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: