2013-10-23 11 views
6

मैं इस समय एक संवेदनशील साइट के साथ कोई समस्या का एक सा हो रही है गति।मोबाइल सफारी स्क्रॉल काम नहीं कर रहा

सभी लेकिन पृष्ठों में से एक स्क्रॉल गति आप सामान्य रूप से अपने फोन पर इंटरनेट का उपयोग करने से मिलेगा नहीं मिलता है। मुझे यकीन है कि अगर यह मोबाइल सफारी या अन्य मोबाइल ब्राउज़रों के लिए प्रतिबंधित है नहीं कर रहा हूँ, मैं सिर्फ इस साइट पर उत्तरदायी काम शुरू कर दिया है।

लेकिन, क्या किसी को पता है कि क्यों कुछ पृष्ठों स्क्रॉल गति नहीं हो सकता है? कुछ पेज छवियों और थोड़ा jQuery के साथ काफी भारी हैं, लेकिन मुझे नहीं लगता कि प्रतिपादन के मुद्दों के कारण पर्याप्त है।

कोई भी विचार?

देव साइट का लिंक है: apt.codeplayground.co.uk

[संपादित करें]

वहाँ प्रकट होता है के रूप में इस पृष्ठ के बारे में है कि काम कर रहा था पर शामिल नहीं किया गया था, हमारे .wrapper div के साथ एक समस्या होने के लिए, अब हम यह पुस्तक ठीक से काम नहीं करता है शामिल किया है।

उत्तर

19

मैं सिर्फ एक ही समस्या थी। मुझे this link मिला, जिसने इस मुद्दे को हल किया। -webkit-अतिप्रवाह-स्क्रॉलिंग:

तत्व यह है कि स्क्रॉल करने के लिए सीएसएस की इस पंक्ति जोड़ें स्पर्श;

#element_that_scrolls 
{ 
    overflow:auto; 
    -webkit-overflow-scrolling: touch; 
} 
+0

बिल्कुल सही! धन्यवाद! – lukeseager

4

केवल शरीर को देशी स्क्रॉलिंग मिल रही है। ओवरफ्लो स्क्रॉल वाले किसी भी तत्व वास्तव में धीमे हैं। स्पर्श स्क्रॉलिंग इसे ठीक कर सकती है लेकिन यदि आप कर सकते हैं तो शरीर को स्क्रॉल करना बेहतर होता है। यह बहुत तेज़ है और जीपीयू बनावट कंपोजिटिंग का बेहतर उपयोग करता है।

टच स्क्रॉल स्क्रॉल तत्व का एक स्नैपशॉट बनाने के साथ जब आप स्क्रॉल शुरू करते हैं। यह उस जीपीयू बनावट के रूप में छवि को जोड़ता है जब आप स्क्रॉल करना बंद करते हैं तो यह GPU बनावट को नष्ट कर देता है। शरीर स्क्रॉल को आपके बनावट मेमोरी का बेहतर उपयोग करने देता है और यह आमतौर पर बेहतर समाधान होता है।

+0

कितना दिलचस्प है। क्या आप इस जानकारी के लिए कोई स्रोत दे सकते हैं? मुझे इसके बारे में और अधिक पढ़ना अच्छा लगेगा। – mark

+0

यदि आपके पास एक सेब डेवलपर खाते तक पहुंच है तो उनके पास ब्राउज़र के काम के बारे में कुछ शानदार विवरण वाले वीडियो हैं। – puppybits

+1

मैं स्पर्श स्क्रॉल में देखा है और जैसे कि यह iOS4 के बाद से बदल यह लग रहा है। तत्वों पर स्क्रॉलिंग जावास्क्रिप्ट निष्पादन को रोकता नहीं है और यह एक GPU बनावट को कैश नहीं करता है। बनावट अभी भी सामान्य तत्वों की तरह बनाई गई हैं। http://minus.com/lFZwnKxxBDDyA http://minus.com/lbc3H74BOvk4ey http://jsbin.com/AZiWowe/9 – puppybits

3

सीएसएस संपत्ति के संबंध में @ मार्क ने जो कहा है, उसके साथ हमें यह याद रखना होगा कि इस संपत्ति को स्क्रॉल की गई सामग्री के माता-पिता को दिया जाना आवश्यक है।

मतलब गति की जरूरत सामग्री स्क्रॉल किया जा करने के लिए के कंटेनर पर काम कर सकते हैं। सीधे सामग्री पर नहीं, अन्यथा वह समझ में नहीं आता कि कैसे और किस गति को गति देना है।

.element_that_scrolls 
{ 
    overflow:auto; 
    -webkit-overflow-scrolling: touch; 
} 

//Wrong 
<ul class="element_that_scrolls"> 
    ... 
</ul> 

//Correct 
<div class="element_that_scrolls"> 
    <ul> 
     ... 
    </ul> 
</div> 
संबंधित मुद्दे