| 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 marginLeftu čí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: 13 let
|
|||
0