| 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: 13 let
|
|||
0