2015-02-02 8 views
5

मैं एक स्लाइड मेनू बना रहा हूं।आवेदन करने के बाद एक div के अंदर स्क्रॉल नहीं कर सकता है- सफारी में वेबबिट-ट्रांसफॉर्म

मेनू लंबा है और मुझे इसके अंदर स्क्रॉल करने में सक्षम होना चाहिए, इसलिए मैंने ओवरफ्लो-वाई सेट किया है: उस पर स्क्रॉल करें।

मैं संक्रमण संपत्ति के रूप में -webkit-transform (और अन्य ब्राउज़रों पर भिन्नता) का उपयोग कर रहा हूं।

अब मैं div के शीर्ष पर स्क्रॉलव्हील का उपयोग करके div के अंदर स्क्रॉल नहीं कर सकता, जब div के शीर्ष पर पूरे पृष्ठ स्क्रॉल करेंगे।

यदि मैं मेनू के व्यवहार को बदलता हूं और सही संपत्ति को स्थानांतरित करता हूं (मेनू को दाएं: -320px पर सेट करता है और इसे सही पर वापस एनिमेट करता है: 0), स्क्रॉल काम करता है।

यह बग केवल सफारी में खुश है, यह क्रोम और अन्य ब्राउज़रों में ठीक काम करता है। आईओएस पर भी काम करता है।

कोई भी कामकाज जानता है? किसी ने पहले इस मुद्दे का अनुभव किया? मुझे इस पर कोई जानकारी नहीं मिल रही है। धन्यवाद।

+2

अनुसंधान के एक बिट करने के बाद, मैंने पाया सफारी div के सीमांकन बॉक्स (रजिस्टर करने के लिए समझता है कि स्क्रॉलिंग व्यवहार) संक्रमण लागू होने से पहले div की स्थिति होने के लिए। दूसरे शब्दों में, यदि आप अपना माउस डालते हैं जहां div अनुवाद से पहले था और स्क्रोलव्हील का उपयोग करते हैं, तो आप div के अंदर स्क्रॉल करने में सक्षम होंगे, भले ही यह अब और नहीं है। मुझे अभी तक कोई कामकाज नहीं मिला है ... –

+0

मेरे पास एक ही समस्या है। क्या आपको एक समाधान मिला? –

उत्तर

12

मुझे transition और overflow: auto के बजाय के बजाय animation का उपयोग करने के अंतर के साथ एक ही समस्या थी।

यह मेरे लिए समस्या का समाधान हो (el डोम तत्व है जो करने के लिए एनीमेशन लागू किया जाता है):

function fixSafariScrolling(event) { 
    event.target.style.overflowY = 'hidden'; 
    setTimeout(function() { event.target.style.overflowY = 'auto'; }); 
} 

el.addEventListener('webkitAnimationEnd', fixSafariScrolling); 
+0

अच्छा है, धन्यवाद! मैंने देखा था कि div तत्व को "ताज़ा करना" (उदा .: इसके अंदर सामग्री को संशोधित करना) इस मुद्दे को ठीक करेगा। आपका कामकाज बेहतर है। –

+0

वह मेरा नेतृत्व भी था। मैन, प्रत्येक ब्राउज़र पर वेबसाइट का काम करना इतना परेशानी है ...;)) –

+0

धन्यवाद, यह मेरे लिए काम करता प्रतीत होता है। भी। (मैं 'webkitTransitionEnd', btw।) – Pascal

संबंधित मुद्दे