| | |
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
Autor | Správa |
---|
Registrovaný: 10.07.07 Prihlásený: 10.08.16 Príspevky: 128 Témy: 40 | Napísal Lier: 28.10.2013 9:45 | |
|
Ahojte. Vytvoril som si fukcie a potreboval by som, aby po kliknuti sa vykonala prva a az po jej vykonani sa spistila dalsia. Jednu fuknkciu mam s nazvom .prec() a druhu .tam() a chcel by som, aby sa prv vykonala prec. Prv som to mal takto Kód: $(".lavor").click(function(){ $(".toprefe").prec(); $(".toprefe").tam(); }); no to vykona akcie ako keby naraz. Tam necaka na prec. Ako na to? Dakujem za rady
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 28.10.2013 17:42 | |
|
Funkciu prec() musíš naprogramovať tak, aby brala callback a do neho vložiť funkciu tam() (čiže v samotnej funkcii prec budeš mať spracovanie všetkých udalostí, ktoré chceš a potom zavoláš ten callback). Ale ešte lepšie by bolo, keby si nám ukázal tvoj skutočný kód a možno ti poradíme lepšie
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 10.07.07 Prihlásený: 10.08.16 Príspevky: 128 Témy: 40 | Napísal autor témy Lier: 28.10.2013 18:02 | |
|
no v podstate sa jedna o takyto kod: Kód: $.fn.prec = function() { $(".topprve").animate({'left': konci }, 1000); $(".topdruhe").animate({'left': konci }, 1000); $(".toptretie").animate({'left': konci }, 1000); $(".topstvrte").animate({'left': konci }, 1000); };
$.fn.tam = function() { $(".topprve").css('left', zacina); $(".topdruhe").css('left', zacina); $(".toptretie").css('left', zacina); $(".topstvrte").css('left', zacina); };
$(".lavor").click(function(){ $(".toprefe").prec(); $(".toprefe").tam(); });
to zacina a konci su rozne PX. a ma to byt, ze posunut to dolava na urcitu hodnotu a potom šup cez css na inu. No porv to musi posunut.
|
|
Registrovaný: 10.07.07 Prihlásený: 10.08.16 Príspevky: 128 Témy: 40 | Napísal autor témy Lier: 28.10.2013 18:25 | |
|
skusal som daley Kód: $(".lavor").click(function(){ $(".toprefe").prec(); $(".toprefe").delay(5000).tam(); });
ale je mu to jedno a necaka nic. Hned funkciu prehra.
|
|
Registrovaný: 10.07.07 Prihlásený: 10.08.16 Príspevky: 128 Témy: 40 | Napísal autor témy Lier: 28.10.2013 19:00 | |
|
takze som to vyriesil setTimeoutom, Kód: $(".lavor").click(function(){ $(".toprefe").prec(); setTimeout(function() { $(".toprefe").tam(); },5000); });
Takze .tam - pocka, pokial sa neskonci prec a sa spusti. No to pockanie, kolko musi pockat, som musel nastavit rucne, co sa mi nejak nepaci. Radsej by som nieco, co spusti funkciu tam - hned po skonceni prec. Lebo funkcia setTimeout je asi len z nudze riesenie, v mojom pripade. Neviete ako to spustit hned po?
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 28.10.2013 20:02 | |
|
Ved ti to shaggy napisal.
|
|
Registrovaný: 10.07.07 Prihlásený: 10.08.16 Príspevky: 128 Témy: 40 | Napísal autor témy Lier: 28.10.2013 22:56 | |
|
no moze byt - hladal som na na webe a skusam hocico, ale zial neviem aky callback myslite. Vedel by si mi tu dat link, ja si to prestudujem a skusim najst riesenie. Dakujem
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 28.10.2013 23:47 | |
|
Potrebuješ to mať v dvoch samostatných funkciách? Aj tak slúžia len na animovanie konkrétnych vecí, nie sú moc znovupoužiteľné. Pozri si, ako pri animate funguje "complete" (to je ten callback). Napr. jednoducho upravený kód by vyzeral takto: Kód: ... $(".topstvrte").animate({'left': konci }, 1000, function() { $(".topprve").css('left', zacina); $(".topdruhe").css('left', zacina); $(".toptretie").css('left', zacina); $(".topstvrte").css('left', zacina); });
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 10.07.07 Prihlásený: 10.08.16 Príspevky: 128 Témy: 40 | Napísal autor témy Lier: 29.10.2013 11:56 | |
|
Dakujem.
|
|
| Stránka: 1 z 1
| [ Príspevkov: 9 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|