mam prostokat:
<rect id="spadajacy" x="400" y="250" width="4" height="4" fill="black">
<animate attributeName="y" attributeType="XML" begin="0s" dur="12s" fill="freeze" from="250" to="300" />
</rext>
teraz funkcja pobierajaca parametr y:
function sprawdz(evt) {
var spad=document.getElementById("spadajacy").getAttribute("y");
if (spad == 270) {
alert("prostokat jest na wys 270")
}
setInterval("sprawdz(evt)",100);
I ta funkcja mi nic nie wyswietli gdyz pobiera y=250 i nie uaktualnia jego zmiany przy animacji(od 250 do 300). co zrobic zeby uwzglednial to? to juz moje ostatnie pytanie to juz nie bede zawracal glowy.... i prosze o wyjasnienie jak 2latkowi:)
problem z pobraniem atrybutu animowanego obiektu
Re: problem z pobraniem atrybutu animowanego obiektu
no to co najmniej 2 pomysły:
1. Niepotrzebnie przekazujesz do funkcji parametr. Brak zdefiniowanego parametru powoduje błąd.
2. Prostokąt nigdy nie ma wysokości równej 270. O co chodzi. jeżeli w kroku n miał wysokość 260 a po 100ms w n+1 ma np. 271 to z oczywistych przyczyn alert się nie wyświetli. Metody są dwie. Pierwsza to skrócenie interwału do np. 10.
Druga to sprawdzanie czy y jest w pewnych granicach i jak tak serowanie interwału.
1. Niepotrzebnie przekazujesz do funkcji parametr. Brak zdefiniowanego parametru powoduje błąd.
2. Prostokąt nigdy nie ma wysokości równej 270. O co chodzi. jeżeli w kroku n miał wysokość 260 a po 100ms w n+1 ma np. 271 to z oczywistych przyczyn alert się nie wyświetli. Metody są dwie. Pierwsza to skrócenie interwału do np. 10.
Druga to sprawdzanie czy y jest w pewnych granicach i jak tak serowanie interwału.
Re: problem z pobraniem atrybutu animowanego obiektu
parametr usunalem, interwal zmniejszylem i to samo... problem w tym ze on caly czas widzi y jako 250... y sie wogole nie zmienia dla niego. i nie wiem wlasnie co zrobic zeby uwzglednil ta animacje(zmiane y).... jakies inne moze jeszcze propozycje?
