Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Túlbonyolítod.
Ha azt szeretnéd, hogy az első jelenjen meg, akkor az első "fo" osztályú div leftcontent osztályú gyerekelemének a display tulajdonsága legyen mondjuk display:block, a többi leftcontent mind induljon elrejtett állapotból (display:none).A többihez tartozó kód:
<script type="text/javascript">
$('.almenu').click( function( ){
// ha a testvérelem (.leftcontent) látszik amúgy is, simán eltüntetjük
if( $(this).next().is(":visible") ){
$(this).next().hide(500);
}
else{
$('.leftcontent').hide(500);
$(this).next().show(500);
}
});
</script> -
jeges
senior tag
szia,
én a következőket próbálnám ki:
this helyett $(this)
:eq() helyett .eq() -- beágyazott (úgy értem, a :xxx stílusú) selectorok nem szokták szeretni az ilyen hivatkozásokat, .eq() igen.
ha még mindig nem megy, .each() eljárással próbálkozz. nem feltétlen szükséges, de számomra legalábbis átláthatóbbá válik az aktuális "környezet" (azaz éppen mit jelent a this/$(this) ). aztán ha működik, lehet optimalizálni.valszeg elég lenne valami ilyesmi:
$(".almenu").each(function(){
$(this).bind("click",function(){
$(".leftcontent", ".leftmodule").hide();
$(".leftcontent", ".leftmodule").eq( $(this).index() ).show();
});
});ehhez persze el kell intézni, hogy alapértelmezésben minden leftcontent display:none legyen. én csinálnék egy visible class-t, ami display:block-ot állít, és azt adnám a leftcontent-hez. a fenti így nagyjából úgy nézne ki, hogy
$(".almenu").each(function(){
$(this).bind("click",function(){
$(".leftcontent", ".leftmodule").removeClass("visible");
$(".leftcontent", ".leftmodule").eq( $(this).index() ).addClass("visible");
// esetleg: $(".visible").show();
});
});nem túl optimális a megoldás, de 3-4 gomb esetén nincs érzékelhető különbség.
elnézést, elírás lehet benne még, mer' nem teszteltem...megjegyzés: mindig érdemes minél pontosabb class selectorokat használni, mer' sokat tud lendíteni az oldal performanciáján (lásd $(".leftcontent", ".leftmodule") ). ahol lehet, ott pedig inkább id, az a leggyorsabb.
-
Új hozzászólás Aktív témák
- Google Pixel topik
- Vicces képek
- One otthoni szolgáltatások (TV, internet, telefon)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Anime filmek és sorozatok
- Lalikiraly: SÜNI energiaital.
- A fociról könnyedén, egy baráti társaságban
- Nintendo Switch 2
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- BestBuy topik
- További aktív témák...
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- TP-Link Archer C1200 Router eladó (1200 Mb/s Wi-Fi)
- Azonnali készpénzes nVidia RTX 2000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
- BESZÁMÍTÁS! Sony PlayStation4 PRO 1TB fekete konzol extra játékokkal garanciával hibátlan működéssel
- Xiaomi Redmi Note 13 256GB Kártyafüggetlen 1Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest