Autor | Zpráva | ||
---|---|---|---|
lemra01 Profil |
#1 · Zasláno: 30. 5. 2013, 15:48:21
Zdravím.
Mohl by prosím někdo ve volné chvíli předělat tento script z jquery do normálního javascriptu? Je to jediný kód který na stránce využívám, pro "vytažení" schovaného boxíku schovaného na levé straně webu, a nechci kvůli toho nechat zbytečně načítat celou knihovnu. Dík moc $(document).ready(function($) { $('.open-close').click(function() { if ($(this).parent().css('left') == '-148px') { $(this).parent().animate({ "left": "0" }, 600); } else { $(this).parent().animate({ "left": "-148px" }, 400); } }); }); |
||
Str4wberry Profil |
#2 · Zasláno: 30. 5. 2013, 17:25:02
Zobrazování a skrývání je jeden řádek kódu.
Animace by šla udělat pomocí časovačů nebo jen pro některé prohlížeče pomocí CSS. |
||
preca1 Profil |
#3 · Zasláno: 30. 5. 2013, 17:37:22
Můžeš taky zkusit použít nějakou menší knihovnu/utilitku.
|
||
honzaik Profil |
zkusil sem si poprvé vytvořit něco takového a funguje to :D
zde je živá ukázka + kod http://jsbin.com/uborup/1/edit (to css je tam automaticky nagenerované) budu vděčný za každý tip jak by to šlo šikovnějc a doufám že to pomůže tady lemře :D -------------------- ještě jsem si všiml že jsem tam nezabudoval to this a parent() a taky tu toggle logiku ale ta se dá vyřešit podobnou podmínkou jako je tady v "zadání" ale myslím že to nejtěžší jsem pomohl, když ne tak se omlouvám ale aspon jsem se něco přiučil :) |
||
Chamurappi Profil |
Reaguji na honzaika:
„ if(typeof processed === "undefined") “
Proč ne if(!processed) ?
„ parseInt(div.style.marginLeft.replace("px", "")) “
Funkci parseInt nevadí jednotky.
„ if(div.style.marginLeft === "") “
parsetInt nevadí ani prázdný řetězec.Number .
Ale mně trochu vadí, že vůbec zkoušíš z marginLeft u číst. Připadá mi to ošklivé.
Na počítači, který nebude stíhat, bude ta tvá animace trvat velmi dlouho. Já bych na to šel jinak. Edit: odkaz opraven. |
||
honzaik Profil |
Chamurappi:
díky za rady. akorát to že parseInt nevadí prázdný řetězec s tím nesouhlasím, když dám do chrome/ff konzole "parseInt(div.style.marginLeft)" tak to napíše NaN a to tomu když přičtu nějaké čislo tak to očekávaně nefunguje. ještě by mě zajímalo proč to bude pomalejší, tu otázku jsem si pokládal když sem uvažoval jestli dělat rekurzi nebo setInterval - je mezitím nějaký výkonostní rozdíl? nebo to zpomaluje něco jiného. ----- už to asi vidím, nemá to nic společného se způsobem provedení (rekurze nebo setInterval) ale s tím že v té tvojí funkci jsou "reálná" časová data že? nevím jak bych to popsal ale asi tomu rozumím |
||
Časová prodleva: 11 let
|
0