window
'u kaydırıyorsam, kaydırma gerçekleşirken veya sonrasında window.setInterval
ekli/yanmıyor. Başka biri aynı sorunu gördü mü? iOS 6 safari, setInterval tetiklenmiyor
Yani
... bu causeing ne olabilir- ?
- Bunu düzeltmek için ne yapabilirim?
window
'u kaydırıyorsam, kaydırma gerçekleşirken veya sonrasında window.setInterval
ekli/yanmıyor. Başka biri aynı sorunu gördü mü? iOS 6 safari, setInterval tetiklenmiyor
Yani
... bu causeing ne olabiliriOS, duyarlı olduklarını hissettirmek için kullanıcı dokunuşuna yanıt olarak neredeyse her şeyi durdurur. SetInterval sorunu biliniyor ve bir çözüm olarak görünmüyor. Sırasında
setInterval pauses in iphone/ipad (mobile Safari) during scrolling
DÜZENLEME
"dondurmak" kullanıcı ekranı serbest bırakır kez zamanlayıcı yakalamak olmaz. Cevapsız olaylar ertelenmiş değil, tamamen kayboldu (bir hata).
sadece duraklatmaz, kaydırma işleminden sonra bile yanmaz. Duraklatma sorunu farklıdır, eğer setInterval sayfa kaydırma işleminden önce eklenirse olur. Benim durumumda, sayfa kaydırma sırasında eklenir. – Johnny
Sağ. "Donma" sırasında, kullanıcı ekranı serbest bıraktığında zamanlayıcı kapanmaz. Ancak, bu süre içinde JS motorunun duraklatılması durumunda, olayınız * kaydırma sırasında * nasıl eklenir? Sadece kaydırma sırasında tetiklenip atılmadığından emin misiniz? – jimp
Aynı problemim var. Kullanıcı kaydırırsa dokunma olayları alıyorum, gidelim ve tekrar dokunur. Ama setTimeout'um iptal edildi. Çirkin hacky çözümüm, her kaydırma olayından sonra bir temizlik yapıyor. (süper çirkin!) – Darwin
Tamamen emin değilim, ancak setInterval
yerine setTimeout
kullanabilirsiniz? Yine de setInterval'ı kullanmak genelde kötü bir uygulamadır.
var delay = 100;
(function callee() {
setTimeout(callee, delay);
})();
'setInterval' kullanılmasının _generally_ kötü bir uygulama olduğunu (özellikle de requestAnimationFrame'in daha uygun olduğu yerlerde yeniden çizilmesi için aşırı şekilde kullanılabilir) konusunda hemfikir olduğumdan emin değilim. Ancak, arguments.callee'nin kötü bir uygulama olması için bir argüman yapılabilir (bu yüzden [katı moddan kaldırılmıştır] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/ Functions_and_function_scope/Strict_mode? redirectlocale = tr-tR & redirectslug = JavaScript/Strict_mode)). – Strille
Teşekkürler, kodu güncelledi. – Nathaniel
Sorun, setTimeout ile devam ediyor – TaylorMac
bu (korkunç ama şaşırtıcı) geçici çözümü bulundu ve iOS 6.0 benim için çalışıyor:
iOS6 Safari bir sayfadır iken oluşturulan zamanlayıcılar öldüren bir hata muzdarip kaydırma.
kaydırma bittikten
https://gist.github.com/3798925 sonra zamanlayıcılar yeniden oluşturarak kTmnh tarafından sağlanan bu soruna bir düzeltme yoktur.
Belki de, belleğin kaydedilmesi ve animasyonun daha hızlı ilerlemesini sağlamak için kaydırma yaparken tüm komut dosyalarını durduracaktır. Sadece tahmin ediyorum. –
@Derek, hayır, diğer her şey, setInterval'dan hemen önceki satırın sonuna kadar gayet iyi görünüyor. – Johnny
Bağlantı sağlayabilir misiniz? – Geuis