JSben megoldás (szétvet az ideg)?
Valaki legyen olyan kedves, és segítsen nekem!
EZ az effekt kell (nem másik, nem hasonló), viszont azt akarom, hogy a "Kinyit" és "Bezár" gomb ne ehhez a divhez legyen kapcsolódva, hanem pl rakok egy gombot valahova, ami fel-le nyitogatja. Nagyon(!) kezdő JSes vagyok, egész napom elment rá, hogy megcsináljam, de semmire nem jutottam...
Nagyon szépen kérek valakit, hogy segítsen!
Fent elhelyezel egy DIV -et, aminek style értéke display:none;
Ezt a DIV -et .toggle() -el nyitod zárod.
Köszönöm szépen!
function valami() {
$("p").slideToggle("slow");
};
ezzel próbálkozok, hogyan lehet megcsinálni, hogy ne <p>t hanem egész divet mozgasson?
Sikerült! Köszönöm szépen!
Azt valaki nem tudja, hogy azt hogyan tudom lekérni hogy le van e nyitva?
Több menü is lesz és úgy akarom, hogy ha megnyitja az egyiket, akkor csak lejön a div, de ha megnyit egy másikat, akkor előbb csukja vissza és nyissa le újra.
Tegyél be egy változót, amiben eltárolod az aktuális állapotot.
A jquery oldalon ott egy példa, hogy mi az ekvivalens a toogle kóddal.
Na olyasmit, csak persze a "showOrHide" változó értékét is változtasd.
Elég az elem css display tulajdonságát ellenőrizni, ha jól emlékszem.
checkToggle = $(#valami).css('display');
if(checkToggle == 'none'){
// ha nincs lenyitva...
}
else{
// egyébként...
}
Szvsz a legjobb az lenne, ha kicsit ismerkednél a jQuery-vel, mert ha kicsit tanulmányoznád, akkor ezek a dolgok nagyon könnyen mennének
"Több menü is lesz és úgy akarom, hogy ha megnyitja az egyiket, akkor csak lejön a div, de ha megnyit egy másikat, akkor előbb csukja vissza és nyissa le újra."
Az összes ilyen div-nek ugyanazt a classt adjad, utána használd ki JQuery azon tulajdonságát, hogy tud elemeknek spéci attributumokat adni.
Amikor megnyitsz egy ilyen div-et, állítsd be ezt: $(this).attr("lathato", "igen");
Majd amikor egy másikat nyitsz meg, az összes ilyen "lathato" div-et tuntesd el, majd jelenítsd meg ami neked kell.
Ez kb így fog kinézni:
HTML:
<div id="menu1" class="legördülőmenü">valami1</div>
<div id="menu2" class="legördülőmenü">valami2</div>
<div id="menu3" class="legördülőmenü">valami3</div>
<a href="#menu1" class="legördülőmenüLink">click 1</a>
<a href="#menu2" class="legördülőmenüLink">click 2</a>
<a href="#menu3" class="legördülőmenüLink">click 3</a>
CSS:
div.legördülőmenü { display: none; }
JS:
var aktMenu;
$("div.legödrülőmenüLink").on("click", function(event){
event.preventDefault();
aktMenu = $(this).attr("href");
$('div.legördülőmenü[lathato="igen"]').slideUp("slow", function(){
$(this).attr("lathato", "nem"); // beállítja, hogy nem látható a menü
$(aktMenu).slideDown("slow", function(){
$(this).attr("lathato", "igen");
});
});
});
"legödrülőmenü" helyett valami html szabvány nevet használva persze.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!