बस यहाँ एक जवाब को जोड़ने के लोग इस सवाल (rather than your other question, which has a great demo to illustrate this issue)
हम काम पर एक समान मुद्दे का सामना कर रहे पर आते हैं। जैसा कि आपने बताया है, ऑफसेट हमेशा पृष्ठ की ऊंचाई का ~ 50% है, जो कि आपका प्रारंभिक ऑफसेट कहां है, इस पर ध्यान दिए बिना होता है।
अतीत में, जब मैंने पहले iOS संस्करण के साथ एक समान "कूद" (हालांकि, बहुत कम नाटकीय कूद) मनाया, मैं आमतौर पर body
(which allows overflow: hidden
to properly work) को position: fixed
(या relative
) लगाने से यह चारों ओर काम किया है।
हालांकि, यदि उपयोगकर्ता स्क्रॉल हो गया है, तो उपयोगकर्ता को पृष्ठ के शीर्ष पर वापस कूदने का अप्रत्याशित परिणाम है।
इसलिए, यदि आप कुछ JavaScript
के साथ इस मुद्दे को संबोधित करने के लिए खुले हैं, तो यहाँ एक फिक्स है/हैक मैं एक साथ फेंक दिया गया है:
// Tapping into swal events
onOpen: function() {
var offset = document.body.scrollTop;
document.body.style.top = (offset * -1) + 'px';
document.body.classList.add('modal--opened');
},
onClose: function() {
var offset = parseInt(document.body.style.top, 10);
document.body.classList.remove('modal--opened');
document.body.scrollTop = (offset * -1);
}
और क्या सीएसएस की तरह दिखता है:
.modal--opened {
position: fixed;
left: 0;
right: 0;
}
यहां अपने डेमो पेज (आपके अन्य प्रश्न से) का एक कांटा है, उदाहरण के लिए: https://jpattishall.github.io/sweetalert2/ios-bug.html
और उन लोगों के लिए जो अधिक सामान्य फिक्स ढूंढ रहे हैं, आप कुछ कर सकते हैं जैसे ething/जब खोलने एक मॉडल को बंद करने के बाद:
function toggleModal() {
var offset;
if (document.body.classList.contains('modal--opened')) {
offset = parseInt(document.body.style.top, 10);
document.body.classList.remove('modal--opened');
document.body.scrollTop = (offset * -1);
} else {
offset = document.body.scrollTop;
document.body.style.top = (offset * -1) + 'px';
document.body.classList.add('modal--opened');
}
}
संपादित करें: "स्थानांतरण/unshifting" पर डेस्कटॉप बचने के लिए, मैं सुविधा का पता लगाने/ua केवल मोबाइल सफारी को यह लागू करने के लिए सूँघने सुझाव है।
डोम परिवर्तनों के लॉग प्राप्त करने के लिए क्रोम के लिए DOMListener का उपयोग करें। मुझे मोडल खोलने और 1 मीडिया क्वेरी स्टाइल जोड़ने पर 59 बदलाव हुए। आकार बदलने वाले हैंडलर भी देखें। Posiiotn फिक्स्ड या ओवरफ्लो छुपा भी मुद्दा हो सकता है। – Pinal
उत्तर के लिए @ पिनिन धन्यवाद! मैंने गतिशील रूप से 'ओवरफ्लो: छुपा' शरीर को जोड़ने की कोशिश की, लेकिन यह इस मामले में मदद नहीं करता है। शायद 'स्थिति: निश्चित' मुद्दा है। क्या आप कृपया कुछ और बता सकते हैं कि यह क्यों जारी किया जा सकता है और मैं इसे कैसे ठीक कर सकता हूं। –
बस ध्यान दिया कि 'स्थिति: फिक्स्ड 'आईओएस कोरग्राफिक्स प्रस्तुत करने में कुछ समस्याएं हैं। आपके मामले में मैं आपको सभी 'स्थिति: फिक्स्ड' को पूर्ण करने और फिर से परीक्षण करने के लिए सिफारिश करता हूं। इसके अलावा आप github पर समाधान ढूंढ सकते हैं (उदाहरण के लिए - https://github.com/scottjehl/Device-Bugs/issues?utf8=%E2%9C%93&q=is%3Aissue+is%3Aopen++fixed++ios+) – Pinal