![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 29.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy, że mam taką funkcję:
Oraz wywołanie:
Jak widać "width" mam w zmiennej. I pytanie - czy w tym wypadku istnieje jakaś alternatywa dla eval() (po prostu, żeby jej nie używać)? Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 1 Dołączył: 29.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki, znalazłem to wcześniej, ale myślałem, że nie będę musiał tego używać (IMG:style_emoticons/default/wink.gif)
Teraz mam taki "grubszy" problem. Całość opiera się na tym, że chcę zbudować funkcję, która będzie animowała różne elementy na stronie (szerokość jakiegoś diva, margines, itp.). Na początku było ok - do funkcji podawało się ilość pikseli, o którą div będzie się powiększał co jakiś czas (tu wykorzystanie setInterval). Ale gdy div miał szerokość 400, a wysokość 600, to powiększanie było nie równe (wiadomo, najpierw kończyła szerokość, potem wysokość). Więc wykombinowałem, że zamiast ilość pikseli będę umieszczał czas, w jakim powiększanie np. szerokości diva ma się zmieścić. I tu zaczynają się problemy. Wykombinowałem taki wzór: ilosc pikseli na raz = ilosc pikseli/czas*predkosc ilość pikseli na raz - o tyle będzie się przesuwał div za każdym razem (ta funkcja, co jest zapętlona w setInterval ilosc pikseli = droga, jaką te powiększenie/pomniejszenie musi przejść (czy np. div ma 400, a ma mieć 600, więc 200) czas = czas, w takim czasie te powiększenie musi się odbyć prędkość = to jest zapętlenie w while, począwszy od 1 do... i tutaj nie wiem do ile, tego jeszcze nie ustaliłem do końca Jak wiadomo, nie można przesunąć diva o np. 3.14 piksela, więc wynik powyższego działania musi być całkowity (tak też jest zapętlona powyżej pętla). Ale są liczby, gdzie wynik całkowity jest o np. 30 pikseli mniej, a wychodzi, żeby przesuwać o 3 piksele na raz z prędkością np. 8, więc cały czas będzie się przesuwać o 3, a na końcu nagle o 30. Nie wiesz może, co innego (najlepiej prostszego (IMG:style_emoticons/default/biggrin.gif) ) zastosować, aby to dobrze działało? Albo udoskonalić to, co sam zrobiłem, nie wiem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 01:05 |