[ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.08.10
Prihlásený: 27.06.23
Príspevky: 94
Témy: 14 | 14
NapísalOffline : 07.11.2010 18:38 | jQuery - rozbalovacie menu

Zdravim

Potrebujem spravit rozbalovacie menu pomocou jQuery.

HTML:
Kód:
<ul>
     <li><a href="#">Menu 1</a>
          <ul>
               <li>Polozka 1</li>
               <li>Polozka 2</li>
               <li>Polozka 3</li>
          </ul>
     </li>
</ul>


Chcem aby bol zobrazeny iba link Menu 1. Ked nan kliken tak sa zobrazi aj polozka 1, 2, 3.

Dokazem to spravit s pouzitim identifikatorov, teda...
Kód:
<ul>
     <li><a href="#" id="menu1">Menu 1</a>
          <ul id="submenu">
               <li>Polozka 1</li>
               <li>Polozka 2</li>
               <li>Polozka 3</li>
          </ul>
     </li>

A jQuery...
Kód:
$('#menu1').click(function(){
     $('#submenu').show();
})


Ale tak to nechcem. Chcem to spravit cisto pomocou nejakych selektorov v jQuery. Cize nejak takto. Ak si klikol na ten a ten li,,, tak sa ti zobrazi ul ktory je vnoreny v klinutom li.
Snad chapete co chces :)

Viete mi poradit ?


Offline

Užívateľ
Užívateľ
jQuery - rozbalovacie menu

Registrovaný: 26.12.06
Prihlásený: 16.11.19
Príspevky: 3971
Témy: 181 | 181
Bydlisko: Nitra / Bra...
NapísalOffline : 07.11.2010 18:49 | jQuery - rozbalovacie menu

Kód:
$('ul > li > a').click(function(){
  $(this).next().show();
});

?


_________________
Sorry za prelkepy
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.08.10
Prihlásený: 27.06.23
Príspevky: 94
Témy: 14 | 14
Napísal autor témyOffline : 08.11.2010 16:59 | jQuery - rozbalovacie menu

Diki emer mas to u mna ;)

Nakoniec som to spravil takto
Kód:
$('#menu_drop_1 > ul > li').click(function(){
      
      $(this).children('ul').toggle();
      
   });


// pridané po 21 hodinách 57 minútach od posledného príspevku

Mam ďalší problém s jQuery.

Potrebujem spraviť to aby sa nejaka funkcia resp. blok kodu vykonal len v tom pripade, že nejaky cas ukazujem kurzorom na nejaky div. Teda mam napr. div #miesto. Ak na tento div ukazujem 500 milisekund tak sa mi zobrazi aj div #nieco. Skusal som to spravit ale podarilo sa mi to len tak, ze stacilo ukazovat na #miesto napr. 20 minisekund a po 480 ,milisekundach sa zobrazilo #nieco. Ja chcem aby sa #nieco zobrazilo len v pripade ze na #miesto ukazujem tych 500 milisekund.

Snad ma chapete.

Vopred diki za rady


Offline

Čestný člen
Čestný člen
jQuery - rozbalovacie menu

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 08.11.2010 17:18 | jQuery - rozbalovacie menu

Zadefinujes si globalnu premennu, nazvime ju timeoutzobrazenia. Na element #miesto naviazes udalost mouseenter(), ktora spusti timeout a jeho ID vlozi do nasej premennej:
Kód:
timeoutzobrazenia = setTimeout(function(){ ... }, 500);
Dalej naviazes na tento isty element udalost mouseleave(), ktora tento timeout odstrani:
Kód:
clearTimeout(timeoutzobrazenia)
To je cele. Funguje to velmi jednoducho - po vojdeni mysi na element sa spusti timeout, ktory za isty cas (500ms) pozadovany objekt zobrazi; tento timeout mozno zrusit a tak zabranit zobrazeniu #niecoho odidenim mysi z elementu (mouseleave). Malo by to tak fungovat, neskusal som.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.08.10
Prihlásený: 27.06.23
Príspevky: 94
Témy: 14 | 14
Napísal autor témyOffline : 08.11.2010 17:25 | jQuery - rozbalovacie menu

Diki duri toto funguje ale ja som mal na mysli cislo jQuery riesenie, nejako s pouzitim .delay() alebo podobne.Nevies ako by sa to dalo spravit ?


Offline

Čestný člen
Čestný člen
jQuery - rozbalovacie menu

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 08.11.2010 18:04 | jQuery - rozbalovacie menu

Ak sa pytas mna, tak ja neviem. V dokumentacii k delay() som sa docital len tolko, ze nie je nahrada k setTimeout. Aky prinos bude mat, ked miesto nativnych funkcii zavolas akusi funkciu $, ktora vyriesi xy inych, irelevantnych pripadov a nakoniec spravi presne to iste, co som napisal ja? Budes spokojnejsi, ked ti napisem funkciu $.urobfintu(), ktora bude v tele obsahovat to iste, ale na zaciatku bude mat magicky dolarik?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.08.10
Prihlásený: 27.06.23
Príspevky: 94
Témy: 14 | 14
Napísal autor témyOffline : 08.11.2010 18:16 | jQuery - rozbalovacie menu

Myslel som nejaku inu funkciu ktora uz je v jQuery zabudovana. Ale ked nevies tak nevadi. Ani ja som nic v dokumentacii nenasiel preto sa pytam. Ale pre zaujimavost. Ako spravis tu funkciu s $ na zaciatku?


Offline

Čestný člen
Čestný člen
jQuery - rozbalovacie menu

Registrovaný: 11.08.07
Príspevky: 4088
Témy: 34 | 34
Bydlisko: Brno
NapísalOffline : 08.11.2010 18:39 | jQuery - rozbalovacie menu

Tak pre zaujimavost. $ je Javascriptova fcia, a kazda fcia je v JS zaroven objektom. Preto je mozne vytvarat jej vlastne atributy ci metody.
Kód:
$.urobfintu = function()
{
   //cokolvek
};
Jednoduche by malo byt rozsirenie aj prototypu objektov, ktore vracia fcia $, teda by sa dalo pouzit napriklad $('#cokolada').zjedz(), ale neskumal som, ako presne sa to robi, jQuery nepoznam.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 03.08.10
Prihlásený: 27.06.23
Príspevky: 94
Témy: 14 | 14
Napísal autor témyOffline : 08.11.2010 18:47 | jQuery - rozbalovacie menu

Diki za rady. Vidim ze JS je viac ojbektovo orientovany jazyk ako som si myslel. Vedel som ze je OOP ale nie ze ponuka az taketo moznosti.


 [ Príspevkov: 9 ] 


jQuery - rozbalovacie menu



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Rozbalovacie menu

v Frontend

2

850

17.07.2007 3:24

framfield

V tomto fóre nie sú ďalšie neprečítané témy.

Rozbalovacie menu

v Frontend

3

1620

13.11.2009 9:31

mokus

V tomto fóre nie sú ďalšie neprečítané témy.

vertikalne rozbalovacie menu

v Frontend

7

4489

24.01.2007 22:07

m@-nX

V tomto fóre nie sú ďalšie neprečítané témy.

Rozbalovacie menu v Javascript

v Frontend

2

1251

23.02.2009 9:58

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

Rozbalovacie menu cez obrázok (IE, Opera)

v Frontend

1

522

14.08.2010 8:18

camo

V tomto fóre nie sú ďalšie neprečítané témy.

Jquery menu

v Frontend

0

362

10.12.2012 14:45

johny694

V tomto fóre nie sú ďalšie neprečítané témy.

Uprava Jquery Menu

v Frontend

7

522

26.08.2011 16:06

pogo

V tomto fóre nie sú ďalšie neprečítané témy.

vertikalne jquery accordion menu

v Frontend

7

539

30.01.2013 22:48

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

Jquery menu nefunguje ako ma....

v Frontend

2

573

11.05.2011 22:48

general667

V tomto fóre nie sú ďalšie neprečítané témy.

"rozbalovacie menu"

v Backend

6

523

10.10.2011 10:58

NecKneSS

V tomto fóre nie sú ďalšie neprečítané témy.

navigacne menu - sek.menu

v Frontend

2

612

15.10.2013 21:54

newbie99

V tomto fóre nie sú ďalšie neprečítané témy.

jquery

v Ponuka a dopyt práce

0

1026

27.02.2010 16:08

maccom

V tomto fóre nie sú ďalšie neprečítané témy.

jquery

v Frontend

16

1662

11.08.2009 13:46

Snacker

V tomto fóre nie sú ďalšie neprečítané témy.

jquery, charset

v Frontend

17

1110

30.12.2010 12:07

EidzEm

V tomto fóre nie sú ďalšie neprečítané témy.

jQuery datepicker

v Frontend

2

693

14.06.2010 17:47

emer

V tomto fóre nie sú ďalšie neprečítané témy.

onclick + jquery

v Frontend

0

534

12.03.2010 13:31

neopagan



© 2005 - 2026 PCforum, edited by JanoF