2015-03-27 6 views
5

मुझे इसका समाधान नहीं मिल रहा है, यहां एक प्रश्न था, लेकिन उत्तर बहुत कम उपयोग नहीं कर रहे हैं (कम से कम मेरे लिए)।स्क्रॉलिंग अक्षम करें लेकिन स्क्रॉलबार सीएसएस

मेरे पास एक जावास्क्रिप्ट मोडल पॉप-अप है जो पृष्ठ पर पारदर्शी div डालकर पृष्ठभूमि पर सबकुछ अक्षम करता है। यह अतिप्रवाह को छिपाने के लिए स्क्रॉलिंग को भी अक्षम करता है, और ऐसा करना चाहिए, क्योंकि पृष्ठ माउस व्हील के साथ स्क्रॉल करने योग्य है और उपयोगकर्ता को परेशान करता है।

समस्या यह है कि स्क्रॉलबार को छिपाने और दिखाने के दौरान पृष्ठ का आकार बदलता है और प्रभाव बदसूरत है। साथ ही, मेरा पृष्ठ इस तरह से डिज़ाइन किया गया है कि यदि मैं इसे आकार देने से रोकता हूं तो यह बदसूरत होगा।

मैं चाहता हूं कि स्क्रॉलबार को अक्षम करना है, लेकिन इसे दृश्यमान रखें (पृष्ठ सामग्री स्क्रीन फिट से अधिक लंबी है)। क्या यह सीएसएस में किसी भी तरह से संभव है?

+1

साथ वास्तव में क्या करने के लिए कुछ कोड – fcalderan

+0

दिखाने कृपया? मेरा मतलब वास्तव में, किस भाग के लिए? जेएस गतिशील रूप से तत्व जोड़ने के साथ, पूरा कोड काफी जटिल है। – justanothercoder

+0

मुझे नहीं पता कि यह पृष्ठ कैसे काम करता है और आपने इसे कैसे बनाया है। आप कैसे उम्मीद कर सकते हैं कि मैं समझता हूं कि समस्या कहां या कहां है और यदि सीएसएस में इसे ठीक करना संभव है? – fcalderan

उत्तर

8

css बदलने के बजाय, जो scrollbar को हटा देगा, और जैसा कि आपने कहा है पृष्ठ के लेआउट को बदलें, इसके बजाय jquery function पर कॉल करने का प्रयास करें।

// call your pop up and inside that function add below 
$('body').on('scroll mousewheel touchmove', function(e) { 
     e.preventDefault(); 
     e.stopPropagation(); 
     return false; 
}); 

फिर जब आप मोडल बंद करते हैं, एक ही फ़ंक्शन को कॉल लेकिन की जगह onoff

+2

हाँ, फिर कोई सरल सीएसएस समाधान नहीं होना चाहिए, और ऐसा कोई कारण नहीं है। धन्यवाद, जेएस/jQuery – justanothercoder

+2

का अच्छा विचार होगा, लेकिन यह पॉपअप के अंदर किसी भी स्क्रॉल को भी अवरुद्ध करता है। –

+3

बीटीडब्ल्यू, उपयोगकर्ता इसके बाद भी स्क्रॉलबार को माउस के साथ खींचकर सामग्री को स्क्रॉल कर सकते हैं। –

1

एक बार जब आप अपना पॉपअप दिखाना शुरू करते हैं, तो body एक कक्षा (जैसे popupOpen) दें। यह एक आसान कामकाज होना चाहिए।

.popupOpen { 
    overflow: hidden; 
    margin-right: 17px //size of the scrollbar in each browser 
} 

जब आप अपने पॉपअप बंद, बस body से वर्ग को हटा दें।

+0

स्क्रॉलबार के बारे में जानना अच्छा है, लेकिन मैं कर सकता हूं ऐसा मत करो। यदि पृष्ठ उच्च रिज़ॉल्यूशन में देखा गया है तो स्क्रॉलबार नहीं होगा, इसलिए यह इसे पेंच करेगा। साथ ही, मेरा पृष्ठ, ठीक है, मैं इस मुफ्त टेम्पलेट के समान कुछ बना देता हूं: http://www.wix.com/website-template/view/html/1410?originUrl=http%3A%2F%2Fwww.wix.com % 2Fwebsite% 2Ftemplates% 2Fhtml% 2Ffusiness-Services% 2F6 और bookName = create-master-new और galleryDocIndex = 2 और श्रेणी = व्यवसाय-सेवाएं और मेटासाइट Id = और viewMode = डेस्कटॉप बस आकार बदलना या अधिक मार्जिन छोड़ना बहुत अधिक दिखाई देता है, मेरे मार्जिन इस टेम्पलेट से कम हो गए हैं .. – justanothercoder

+1

सभी डिवाइसों पर सभी ब्राउज़रों पर समान 'स्क्रॉलबार' समान चौड़ाई हैं? –

+9

स्क्रॉलबार चौड़ाई सभी ब्राउज़रों पर समान नहीं है। –

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