2012-04-27 21 views
6

Mam podgląd strony internetowej, która jest pokazana w aplikacji jest animacja na stronie, zegar cyfrowy, gdzie pokazuję obrazy od każdej cyfry Podobnie jak 00:39, 29:39 itdanimacja javascript zatrzymana w przeglądarce Safari w przeglądarce ios, gdy palec jest na ekranie bez podnoszenia

to jest animowana używanie setInterval w javascript w stronę problemu jest to, że gdy kładę palec na ekranie, czyli dotyk bez odrywania palca mego przeglądarka zatrzymuje się, co oznacza, że ​​animacja nie animuje się, zatrzymuje się w miejscu, w którym palec dotknie ekranu, i będzie nadal animować po podniesieniu palca.

jak mogę to naprawić? Słyszałem, że mogę użyć domyślnej metody zapobiegania, ale czy nie byłoby to ignorowanie wszystkich moich zdarzeń na stronie?

basicaly oprócz zegara w mojej stronie, mam też kilka rzeczy, które użytkownik może oddziaływać, więc szuka zdarzenia click itp

więc na pewno chcemy zachować, że dobrze pomóż

to się dzieje na urządzeniu iOS ... jeśli biegnę w stacjonarnym Brower, wszystko wydaje ok..not zatrzymanie obserwowane

Odpowiedz

0

znaleźli problem jest. to nie ma nic wspólnego z prośbą o ajax lub procesorem , ponieważ wprowadzono małe przewijanie. Najwyraźniej cała zapowiedź zostanie zatrzymana, jeśli przewijasz lub przewijasz.

0

czy to powstrzymać, jeśli tylko naciśnij w dowolnym miejscu lub na blacie? Spróbuj zapobiegać kliknięciom elementu licznika. Np ..

$('#counter-container').click(function() 
{ 
    e.preventDefault(); 

    return false; 
}); 

Edit: Najwyraźniej nie jest to niczym niezwykłym problemem. Kiedy iPhone potrzebuje więcej zasobów procesora/pamięci, zatrzyma on wykonywanie javascript. Przyjrzyj się użyciu setInterval (wykonuje javascript w określonym przedziale czasu, dopóki nie zostanie wywołana metoda clearInterval()), aby wykryć, czy animacja nie zakończyła się pomyślnie.
Podobne pytania:
User interaction sometimes screws up jQuery ajax requests in UIWebView
AJAX constantly look for server update? Javascript
https://discussions.apple.com/thread/2723866?start=0&tstart=0

+0

dzięki sir, ale anmation rzeczywiście zatrzymuje się, gdy leżałem mój palec w dowolnym miejscu na WebView, nie tylko pojemnik animacji więc rozwiązanie nie działa – user1118019

+0

@ user1118019 Zobacz zaktualizowaną odpowiedź –

+0

dzięki jeszcze raz dla kontynuacji, ale nie jestem podjęciem ajax Żądamy, i animuję coś prostego, nie sądzę, że to kiedykolwiek ukradnie zasoby procesora itp. ur rozwiązanie sprawdzania, czy animacja jest wykonana, nie działa, to znaczy, po pierwsze, nie wiemy, co powoduje animację Zatrzymam się, naprawdę wątpię, że to jest procesor. Ponownie, moja animacja powraca do animacji po podniesieniu palca, animacja jest dla timera, powiedzmy 10 sekundowego limitu, użytkownik powinien zrobić osmething w ciągu 10 sekund, nie mogę ponownie ożywić go, ponieważ da to użytkownikowi więcej niż 10 drugi, aby wykonać zadanie, które łamie regułę. – user1118019

1

Wystarczy dla każdego, kto jest po drugiej stronie to później: Animacje zawsze zatrzymać w przeglądarkach podczas przewijania, który jest jaki jest twój widok internetowa jest przewidywanie za dotknięciem palca. To samo stanie się w przeglądarkach komputerowych.

Powiązane problemy