Autor | Zpráva | ||
---|---|---|---|
PepikCZ Profil * |
#1 · Zasláno: 29. 4. 2013, 14:39:53
Používám pro "tabs" - záložky, kdy kliknutím na záložku se mě zobrazí obsah bez znovu načtení.
Mám problém, pokud chci provést označení <li class="active"> ... kdy se sice provede přes CSS označení, ale jQuery mi nedovolí vypsat patřičný obsah, pokud mu natvrdo sám řeknu ... tohle chci označit a vypsat. Nevíte jak toho docílit? $("#tabs li").click(function() { // First remove class "active" from currently active tab $("#tabs li").removeClass('active'); // Now add class "active" to the selected/clicked tab $(this).addClass("active"); // Hide all tab content $(".tab_content").hide(); // Here we get the href value of the selected tab var selected_tab = $(this).find("a").attr("href"); // Show the selected tab content $(selected_tab).fadeIn(); // At the end, we add return false so that the click on the link is not executed return false; }); |
||
Camo Profil |
PepikCZ:
Ten predposledný riadok by mal byť podľa mňa takto: $('a[href="'+selected_tab+'"]).fadeIn(); lebo ty máš v tej premennej iba adresu toho odkazu...
EDIT: Podľa všetkého by si mohol použiť rovno selektor "a:first" a hneď ho zobraziť miesto toho čarovania s adresou(ak tú adresu nepotrebuješ). Ak ju potrebuješ tak tiež stačí len za to fadeIn prilepiť attr("href"). var a = $(this).find("a:first").fadeIn().attr("href"); |
||
PepikCZ Profil * |
#3 · Zasláno: 29. 4. 2013, 19:25:40
Mám v tom guláš :) ... jak tedy mohou daný TAB přes URL ... kde je třeba #tabs1 .... #tabs2 atd. dany tab označit a zobrazit obsah?
|
||
Camo Profil |
#4 · Zasláno: 29. 4. 2013, 21:46:23
PepikCZ:
No v prvom rade musíš mať k tomu kódu zodpovedajúce html. Čiže nejaký box s id #tabs, v ňom nejaké položky zoznamu li a v nich odkazy s tými adresami. Máš to tak? |
||
PepikCZ Profil * |
#5 · Zasláno: 29. 4. 2013, 22:13:05 · Upravil/a: PepikCZ
Používám toto, kdy potřebuji, že když zadám v URL #tab3 ... tak, aby se dany tab označil a obsah se zobrazil.
NEBO ... pokud do <li> ... vložím style="active". Záleží co je lepší z pohledu jQuery. Hlavně ať něco funguje. |
||
Kcko Profil |
Hod demo třeba na http://jsfiddle.net/, upravím to.
|
||
PepikCZ Profil * |
#7 · Zasláno: 29. 4. 2013, 22:56:50
|
||
Kcko Profil |
#8 · Zasláno: 29. 4. 2013, 23:27:03
$(document).ready(function(){ $("#tabs li").click(function() { // First remove class "active" from currently active tab $("#tabs li").removeClass('active'); // Now add class "active" to the selected/clicked tab $(this).addClass("active"); // Hide all tab content $(".tab_content").hide(); // Here we get the href value of the selected tab var selected_tab = $(this).find("a").attr("href"); location.hash = selected_tab; // Show the selected tab content $(selected_tab).fadeIn(); // At the end, we add return false so that the click on the link is not executed return false; }); if (location.hash) { $("#tabs li a[href='"+location.hash+"']").parent().trigger("click"); } }); < |
||
PepikCZ Profil * |
#9 · Zasláno: 29. 4. 2013, 23:37:01
Kcko: Jsem ti velice zavázán. Funguje OK.
|
||
Camo Profil |
#10 · Zasláno: 30. 4. 2013, 12:14:31 · Upravil/a: Moderátor (editace znemožněna) 30. 4. 2013, 21:27:08
Kcko:
Toto je podľa teba upravený kód? To načo si tam zaplietol ten location.hash? A čo prosím robí ten trigger? PepikCZ: Môžeš mi vysvetliť, čo ti na tom tvojom kóde nefungovalo??? |
||
Kcko Profil |
#11 · Zasláno: 30. 4. 2013, 18:42:44 · Upravil/a: Moderátor (editace znemožněna) 30. 4. 2013, 21:27:09
Camo:
Nauč se číst mezi řádky. Dělá to přesně to co zadavatel požadoval. Máš nějaký problém? |
||
Camo Profil |
Kcko:
"Máš nějaký problém?" Nó mám, tento: if (location.hash) { $("#tabs li a[href='"+location.hash+"']").parent().trigger("click"); } |
||
Chamurappi Profil |
#13 · Zasláno: 30. 4. 2013, 21:27:42
Trochu jsem to tu vyčistil.
Reaguji na Cama: Kcko očividně neumí své myšlenkové pochody vysvětlit, tak to zkusím já. Při kliku se změní location.hash , tedy #kus adresy za mřížkou. Kckův kód při načtení zjistí, jestli v adrese mřížka je, a pokud ano, zkusí najít odkaz vedoucí na tuto mřížku. Z odkazu najde jeho rodiče (což asi bude ouško vybíraného tabu) a vyvolá na něm uměle událost click . To dělá ten trigger . Díky této úpravě si tedy stránka jakoby pamatuje, který tab je vybraný, což patrně tazatel chtěl (i když to nepopsal moc srozumitelně).
„Teba kto vychoval zlatko?“ Příště zkus použít vyhledávač. |
||
Camo Profil |
Chamurappi:
No už som sa pochopil. Bral som tie riadky, ako súčasť tej obsluhy. A oni sú mimo ako vidím. Pošahaná dislexia... |
||
Časová prodleva: 11 let
|
0