मैं एक मॉडल परत खोलना चाहता हूं जो शरीर स्क्रॉल को पीछे छोड़ देता है। इसे पूरा करने के लिए, जब परत दिखायी जाती है तो मैं मोडल परत पर स्क्रॉल करने के लिए शरीर को अतिप्रवाह और ओवरफ़्लो पर सेट कर रहा हूं। दृश्यमान, एक स्क्रॉलबार दूसरे को बदल देता है।शरीर की अतिप्रवाह छिपी हुई स्थिति के साथ चलने वाली स्थिर स्थिति वाले तत्व
पृष्ठभूमि में मेरे पास निश्चित स्थिति और 100% चौड़ी वाला शीर्ष बार है। क्या होता है जब शरीर का अतिप्रवाह छिपाने के लिए सेट होता है, 100% चौड़ाई div (शीर्ष बार) स्क्रॉलबार स्थान लेता है और इसके तत्व दाईं ओर जाते हैं।
मैं उन तत्वों को आगे बढ़ने से कैसे रोक सकता हूं?
मैंने स्क्रॉलबार की चौड़ाई (जावास्क्रिप्ट) की गणना करने की कोशिश की और शरीर को ओवरफ़्लो सेट करते समय: छुपाएं, मार्जिन-दाएं दें: शीर्ष पट्टी पर "स्क्रॉलबार चौड़ाई" दें। वह काम नहीं किया।
ने शीर्ष बार के दाईं ओर एक डमी div को स्क्रॉल करने के लिए अतिप्रवाह सेट के साथ भी कोशिश की और परत खोले जाने पर स्क्रॉल बार प्रदर्शित करने के लिए मजबूर किया। विचार था कि लापता स्क्रॉलबार की जगह एक और स्क्रॉलबार के साथ, केवल शीर्ष कंटेनर पर लेना था। यह लगभग काम किया लेकिन 1 या 2 पीएक्स झिलमिलाहट बनाया। बहुत अच्छा नहीं।
jsFiddle here with the basic problem
var body = $('body'),
main = $('.main'),
open_modal = $('.open-modal'),
close_modal = $('.close-modal'),
modal_container = $('.modal-container'),
toggleModal = function() {
body.toggleClass('body-locked');
modal_container.toggleClass('dp-block');
};
open_modal.on('click', toggleModal);
close_modal.on('click', toggleModal);
यह काम करता है। आपका बहुत बहुत धन्यवाद! – ca2s7l