Autor | Zpráva | ||
---|---|---|---|
- Profil * |
#1 · Zasláno: 2. 12. 2008, 16:38:14
Mam takovy maly problem. Mam takovyhle kod:
onMouseOver="if (this.style.top >= 200) {if (this.style.top <= 300) {this.style.top = 1000;}}" A to je ten problem. Ikdyz je ten dany objekt (tedy ma) top: treba 250px;, porad to nejde. Nevite jak to lze opravit? |
||
bohyn Profil |
#2 · Zasláno: 2. 12. 2008, 16:46:31 · Upravil/a: bohyn
Chybi ti tam jednotky, tedy "1000px".
|
||
- Profil * |
#3 · Zasláno: 2. 12. 2008, 17:01:02
Jo diki. Ale px je zapotreby i u ... >= '200px' ... a ... >= '300px' ...
Sem si porad myslel, ze pri porovnavani cisel nesmi byt zadne pismeno... |
||
Měsíček Profil |
#4 · Zasláno: 2. 12. 2008, 18:14:40
Reaguji na pomlčku:
"Jo diki. Ale px je zapotreby i u ... >= '200px' ... a ... >= '300px' ... " To kolega bohyn moc dobře ví, ale proč by jsme ti to měli celé psát, stačí malé nakopnutí ne? :-) "Sem si porad myslel, ze pri porovnavani cisel nesmi byt zadne pismeno..." Tak příště nemysli a testuj ;-) .. <script type="text/javascript"> var a = "5px", b = "4px"; alert((a < b) ? "A je menší" : "B je menší"); // B je menší </script> |
||
los Profil * |
#5 · Zasláno: 2. 12. 2008, 18:53:09
Pozor, v takom prípade vyjde, že "5px" je viac ako "40px", pretože porovnávaš reťazce.
Pri porovnávaní čísel nemajú jednotky čo hľadať. Ak má prvok nastavený style.top, tak tam bude reťazec aj s jednotkami. Tých sa zbavíš napr. použitím funkcie parseInt: onmouseover="if (parseInt(this.style.top) >= 200 && parseInt(this.style.top) <= 300) this.style.top = '1000px'" (pozn.: parseInt má aj druhý parameter, ale ak nebudeš do this.style.top dávať nezvyčajné hodnoty, tak ho ani netreba) Možno by v tvojom prípade bolo lepšie použiť na zistenie pozície prvku this.offsetTop (prípadne spolu s this.offsetParent). A možno nie. |
||
Chamurappi Profil |
#6 · Zasláno: 2. 12. 2008, 19:37:45
Reaguji na pomlčku:
Pozor na to, že v this.style.top je hodnota vlastnosti top z atributu style. Deklaruješ-li souřadnici v nějakém stylopisu, nelze ji tímto způsobem přečíst a pak tě bude zajímat spíš již zmíněný offsetTop (ten vrací vždy číslo bez „px“). Reaguji na losa: „ak nebudeš do this.style.top dávať nezvyčajné hodnoty“ Prohlížeč nastavenou hodnotu normalizuje, takže i kdyby zapsal this.style.top = "010px", při čtení dostane „10px“. Druhý argument tudíž není potřeba nikdy. |
||
Časová prodleva: 15 let
|
0