Autor | Zpráva | ||
---|---|---|---|
opicak Profil |
#1 · Zasláno: 4. 5. 2011, 17:37:45
Dobrý den, nevíte někdo, jak udělat efekt z fw jQuery- funkce Hide() ?
Vím, jak se udělá zmizení obsahu ,ale já bych potřeboval, aby postupně mizel ze stránky a obsah pod ním se posouval plynule nahoru. Zkoušel jsem se podívat přímo do zdroje jQuery, ale v tom jsem se opravdu nevyznal, díky za všechny nápady. opicak |
||
yFang Profil |
#2 · Zasláno: 4. 5. 2011, 17:41:25
opicak:
Zkus .slideUp(), viz http://api.jquery.com/slideUp/ |
||
opicak Profil |
#3 · Zasláno: 4. 5. 2011, 17:51:13
yFang:
Ty si mě asi blbě pochopil, já nechci jQuery, já to chci normálně přes JS bez framework. |
||
_es Profil |
#4 · Zasláno: 4. 5. 2011, 17:56:57 · Upravil/a: _es
opicak:
„já to chci normálně přes JS bez framework.“ Postupne cez časovač setInterval alebo setTimeout zmenšuj výšku elementu na 0. |
||
opicak Profil |
#5 · Zasláno: 4. 5. 2011, 18:06:39
_es:
Díky, mě nenapadlo, snad to nějak dám do kupy. |
||
opicak Profil |
#6 · Zasláno: 4. 5. 2011, 18:24:56
a už mám problém, jak zmenším div na menší velikost než se vejde text, tak div se sice zmenší, ale text je přepsaný přes div.
Nevíte jak udělat aby se zalomil? díky opicak. |
||
Chamurappi Profil |
#7 · Zasláno: 4. 5. 2011, 18:26:26
|
||
_es Profil |
#8 · Zasláno: 4. 5. 2011, 18:27:36
|
||
opicak Profil |
#9 · Zasláno: 4. 5. 2011, 18:27:53
Chamurappi:
„Zalomil nebo uřízl?“ Díky myslel jsem uřízl, špatně jsem se vyjádřil. |
||
opicak Profil |
#10 · Zasláno: 4. 5. 2011, 19:07:31
Tak mám ještě jeden problém, nevím jestli i ve starších verzích IE, ale v IE 9 mi nejde setInterval, nevíte někdo jak to vyřešit?
Dík, opicak. |
||
_es Profil |
#11 · Zasláno: 4. 5. 2011, 19:17:08
opicak:
„ale v IE 9 mi nejde setInterval“ Neverím, chyba bude inde. „Nejako mi niečo nefunguje“ je nedostatočný popis problému. |
||
pcmanik Profil |
#12 · Zasláno: 4. 5. 2011, 19:17:15
opicak:
setInterval je velmi stara vlastnost v js, cize to skor ukazuje na chybu v tvojom kode. |
||
opicak Profil |
#13 · Zasláno: 4. 5. 2011, 19:20:04
pcmanik, _es:
Tak nevím v čem mám chybu, jedině kde mi jde tenhle kód, jak chci je chrome (v opeře, ie ani mozille to nefunguje). //Konstanta TIMER = 20; function Hide(div) { var element = document.getElementById(div); element.style.overflow = 'hidden'; element.height = element.offsetHeight; clearInterval(element.timer); element.timer = setInterval('Fade("'+div+'")',TIMER); } function Fade(div,flag) { flag = flag == null ? 1 : flag;//jestliže není zadáná flag je nastavena na 1 var element = document.getElementById(div); var value; if(flag==1) { value = element.height - 1; } else { value = element.height + 1; } element.height = value; element.style.height = value+' px'; if(value <= 1) { element.style.height = 'none'; clearInterval(element.timer); } } opicak |
||
_es Profil |
#14 · Zasláno: 4. 5. 2011, 19:34:32
opicak:
Nepredávaj do časovačov textové reťazce. Získaš tým aj ďalšie výhody. „element.timer =“ Neukladaj dáta takýmto spôsobom do HTML elementov. Prečo elementu nastavuješ okrem vlastnosti style.height aj vlastnosť height ?
Pokús sa ten skript prerobiť do nejakého zrozumiteľnejšieho a menej chaotického tvaru. |
||
opicak Profil |
#15 · Zasláno: 4. 5. 2011, 20:13:46
_es:
LoL fakt že jo. Díky bylo to tím div.style.height = value+'px'; a je správně tento kód? var pole0 = form[pole[0]].value; Dík opicak |
||
Witiko Profil |
#16 · Zasláno: 4. 5. 2011, 22:51:40 · Upravil/a: Witiko
opicak:
Správně je, nicméně číslovat proměnné není pěkné, doporučuji využívat polí. Tzn.: var pole = []; pole[0] = form[pole[0]].value; A máš chybu v deklaraci konstanty TIMER v tom, že ji ve skutečnosti nedeklaruješ: var TIMER = 20; |
||
opicak Profil |
#17 · Zasláno: 5. 5. 2011, 19:45:50
Ten tvůj příklad mi nejde nevim proč.
//pole je na stránce v interním scriptu pole[0] = form[pole[0]].value; if(pole[0] == "") { vypisMsg(pole[0],musis+'p\u0159ezdívku.',2); return false; } |
||
_es Profil |
#18 · Zasláno: 5. 5. 2011, 19:56:14 · Upravil/a: _es
opicak:
„Ten tvůj příklad mi nejde nevim proč.“ Zrejme bol nezmyselný už ten tvoj kód a Witiko sa asi nazdával, že mieniš použiť premenné pole0 , pole1 , pole2 , ... a teda bude lepšie namiesto toho použiť pole.
Na otázku: > a je správně tento kód? > var pole0 = form[pole[0]].value; sa nedá odpovedať, lebo: 1) Nie je jasné, čo je v premennej (?) form .
2) Nie je jasné, čo je v premennej (?) poli (?) pole .
3) Nie je celkovo jasné, čo by mal ten kód robiť. |
||
opicak Profil |
#19 · Zasláno: 5. 5. 2011, 21:08:47
_es:
„1) Nie je jasné, čo je v premennej (?) form.“ V proměné form je formulář(form) a ve form se před odeslání dat(onSumbit) spustí funkce jestli není žádný formulář prázdný. „2) Nie je jasné, čo je v premennej (?) poli (?) pole.“ var pole = ['r_user','r_passwd','r_email']; „3) Nie je celkovo jasné, čo by mal ten kód robiť.“ Tento kód kontroluje jestli není input (r_user) prázdný a jestli ano tak se celý submit zastavý a vipíše se hláška ,,Musíte zadat přezdívku." |
||
Witiko Profil |
#20 · Zasláno: 5. 5. 2011, 22:00:11 · Upravil/a: Witiko
opicak:
Ano, myslel jsem si, že hodláš pojmenovávat proměnné číselně. Je jasné, že ti to takto nemůže fungovat, jelikož máš shodný název u dvou proměnných (pole). Původní příklad bude asi správně (moc krátké na posouzení), jen bych se z principu nepřikláněl k psaní čísel do názvů proměnných. Ale to je jen moje chápání názvových konvencí. Jenom co vidím: 'p\u0159ezdívku.' - je skutečně nutné takto ANSI ecapovat unicode? Nebylo by lepší použít středoevropské kódování a vepsat tam normálně písmena s háčky a čárkami? |
||
opicak Profil |
#21 · Zasláno: 6. 5. 2011, 10:30:49
Jo, já to nepoužívám, ale používám netbeans a ten mi to escapoval sám.
|
||
opicak Profil |
#22 · Zasláno: 6. 5. 2011, 10:35:00 · Upravil/a: opicak
//edit
ale pořád potřebuju, jak zjistit výšku toho divu, aby jsem mohl zase vrátit div do stejné velikosti postě jak funguje funkce Show() v jQuery. díky, opicak |
||
_es Profil |
#23 · Zasláno: 6. 5. 2011, 10:50:30
opicak:
„když deklaruju v jedné funcki proměnou var a, která je odkazována v setInterval na jinou funkci, jestli v další funkci existuje.“ Prečo riešiš jednu vec vo viacerých vláknach? Z hľadiska prístupu k premenným je dôležité to, kde je funkcia definovaná, nie kde sa na ňu odkazuje. |
||
opicak Profil |
#24 · Zasláno: 6. 5. 2011, 10:57:22
_es:
Jo, tak toho jsem si nevšiml fakt sorry. Dík, odpověď si mi napsal v tom druhém vláknu. |
||
Witiko Profil |
#25 · Zasláno: 6. 5. 2011, 13:30:58 · Upravil/a: Witiko
|
||
Časová prodleva: 13 let
|
0