Autor | Zpráva | ||
---|---|---|---|
doby Profil * |
#1 · Zasláno: 15. 2. 2016, 11:53:26
Dobrý den,
chci se zeptat, jak mohu v jQuery nastavit opakování děje. Mám tento kód... více si můžete prohlídnout zde jsfiddle.net/2x3ga93x open a close funguje, ale po každý musím sjet kurzorem z textu "Menu". děkuji za reakce. |
||
Slark Profil * |
#2 · Zasláno: 15. 2. 2016, 12:00:39
To je způsobeno tím, že máte celý script obalený v
jQuery(".menu-button").on("mouseover", function(check)
|
||
anonymníí Profil * |
doby:
Děláš to celé nějak složitě. Když na tlačítko klikám, je jasné, že na něm jsem myší. Zkus to jednodušeji, třeba takto: jQuery(".menu-button").click(function() { var mobileMenu = jQuery("#main-menu-mobile"); if (mobileMenu.hasClass('active')) { mobileMenu.removeClass('active').addClass('inactive'); } else { mobileMenu.addClass('active').removeClass('inactive'); } }); Odkaz se mi nezodkazil, jsfiddle.net/2x3ga93x/1 |
||
doby Profil * |
#4 · Zasláno: 15. 2. 2016, 12:10:46
funguje to skvěle :) jsem v jQuery začátečník a tohle řešení mě fakt nenapadlo... :) a když budu chtít vložit .animate, aby mi to postupně vyjíždělo a zajíždělo...jaký tam je vztah jQuery s před nestaveným css?
|
||
anonymníí Profil * |
#5 · Zasláno: 15. 2. 2016, 12:14:52
doby:
Není problém si s animate trochu pohrát. Takto nabyté kušenosti a znalosti si později, až je budeš potřebovat znovu, snáze vybavíš, než když ti teď vše řekneme. Pokud budeš mít a animací nějaký konkrétní problém, zeptej se na něj.
|
||
doby Profil * |
#6 · Zasláno: 15. 2. 2016, 12:24:54
Jestli dobře chápu princip .animate, tak animace bude probíhat vždy pomocí tzv. přímého stylu u daného objektu. Např.
<div id="main-menu-mobile" class="active" style="width: 300px"> je možnost, aby animace se vykonávala podle externího stylu?
|
||
anonymníí Profil * |
#7 · Zasláno: 15. 2. 2016, 12:30:22
doby:
„je možnost, aby animace se vykonávala podle externího stylu?“ Ne, už je z principu, jak JS animace funguje. V každém časovém úseku daného intervalu (pokud nastavíš interval 300ms, provede se X animací v časových rozestupech 300/x) se nastaví vypočtená šířka animovanému elementu. V průběhu celého intervalu (300ms) se změní šířka elementu Xkrát. Jak bys ji chtěl měnit externím stylopisem? Můžeš po doběhnutí animace přidat třídu, která bude v externím CSS souboru obsahovat oněch 300px (koncový stav animace) a inline styl z prvku odebrat. Samotná JS animace však probíhá vždy formou inline stylu, jinak to technicky ani nejde. Tedy, jde. Mít definovaných X tříd (sirka1/sirka2/sirka3...sirka300) se width: 1px/2px/3px...300px a setIntervalem měnit postupně třídu. Sám asi vidíš, že to je pakárna a na úpravu nic moc. |
||
doby Profil * |
#8 · Zasláno: 15. 2. 2016, 16:27:15
Je toto řešení správné, nebo vás napadá jak to udělat jednodušeji?
jsfiddle.net/83m5c5yu Děkuji za reakci. |
||
Časová prodleva: 9 let
|
0