Kezdőoldal » Számítástechnika » Weblapkészítés » Hogy kell ezt a jQuery kódot...

Hogy kell ezt a jQuery kódot függvénnyé alakítani?

Figyelt kérdés

Sziasztok.


Hogy kell ezt a jQuery kódot függvénnyé alakítani?


$('.submenu').click( function(){

if($(this).parent().hasClass('active')) {

$(this).parent().removeClass('active');

}

else {

$(this).parent().addClass('active');

}

});

$('#menu-button').click( function(){

if($('#menu').hasClass('active')) {

$('#menu').removeClass('active');

}

else {

$('#menu').addClass('active');

}

})


Én így csináltam:


function snOnClickClass(onClick, className, parent = false) {

$(onClick).click( function(){

parent = (!parent) ? $(this).parent() : $(parent);


if(parent.hasClass(className)) {

parent.removeClass(className);

}

else {

parent.addClass(className);

}

});

}

snOnClickClass('.submenu', 'active');

snOnClickClass('#menu-button', 'active', '#menu');


De nem úgy működik, ahogy akarom. Mindig csak az kap active class-t, amelyikre legelőször kattintottam. Miért? Vagy van valami normálisabb megoldás, amivel "szebbé" alakíthatom a fenti kódot?


2014. szept. 30. 17:01
 1/4 anonim ***** válasza:
nekem ez túlbonyolítottak tűnik, mit szerettél volna elérni?
2014. szept. 30. 17:15
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:

Én ilyesmit csinálnék:

[link]

2014. szept. 30. 17:50
Hasznos számodra ez a válasz?
 3/4 A kérdező kommentje:

Azt akarom elérni, hogy ha a <span class="submenu></span>-re kattintok, akkor a szülőnek (<li>) adjon egy class-t.


Ha meg a <span id="menu-button"></span>-ra, akkor a <div id="menu"></div>-nek adjon egy class-t.



<span id="menu-button"></span>


<div id="menu">

<ul>

<li><a href=""><span class="submenu></span>Menüpont</a></li>

</ul>

</div>

2014. szept. 30. 18:39
 4/4 anonim ***** válasza:

Egyébként addClass és removeClass helyett egyszerűen csak:

[link]

2014. szept. 30. 18:42
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!