2012-12-03 11 views
5

मेरे पास div के अंदर मेरी वेबसाइट पर jQuery कस्टम सामग्री स्क्रोलर है। div सामग्री में पैरामीटर ("#content").hide() है। पेज लोड होने पर और jQuery कस्टम कंटेंट स्क्रोलर पूरी तरह से काम करता है जब div दिखाई देता है।jQuery कस्टम सामग्री स्क्रॉलर प्रदर्शित नहीं होता है जब div में पैरामीटर छुपाता है

लेकिन अगर पेज लोड होने पर div सामग्री दिखाई नहीं दे रही है, तो jQuery कस्टम सामग्री स्क्रोलर दिखाई नहीं दे रहा है और काम नहीं करता है। मैंने देखा कि जब आप विंडो को छोटा या बड़ा करते हैं, तो स्क्रोलर प्रदर्शित होता है। मेरे पास इस यूआरएल पर छोटा उदाहरण है: http://www.frantatoulen.wz.cz/

समस्या कहां हो सकती है?

उत्तर

10

समस्या यह है कि जब # सामग्री छिपी जाती है, प्लगइन स्क्रिप्ट सामग्री की लंबाई की गणना नहीं कर सकती (छुपे तत्व में शून्य आयाम होते हैं)। इसके कारण, स्क्रिप्ट मानती है कि सामग्री को स्क्रॉलबार की आवश्यकता नहीं है।

समाधान एक:

आप अपनी सामग्री टॉगल के बाद प्लगइन का अद्यतन विधि कॉल करने की जरूरत है और दिखाई देने लगता है (प्लगइन मुखपृष्ठ तरीकों और मानकों का उपयोग करने पर जानकारी और उदाहरण है)। जब आप ब्राउज़र का आकार बदलने क्योंकि यह विंडो आकार परिवर्तन घटना पर अद्यतन विधि ऑटो कॉल स्क्रॉलबार काम करता है: आपके क्लिक समारोह के अंदर, अंत में निम्नलिखित जोड़ें:

$("#tlacitko").click(function(){ 
    $("#content").toggle(); 
    $("#content").mCustomScrollbar("update"); 
}); 

नोट।

समाधान बी: ​​

आप बस सच करने के लिए updateOnContentResize विकल्प पैरामीटर सेट कर सकते हैं।

$("#content").mCustomScrollbar({ 
    advanced:{ 
     updateOnContentResize:true 
    } 
}); 
+0

Thx, यह पूरी तरह से काम करता है: हर बार अपनी सामग्री लंबाई परिवर्तन यह ऑटो कॉल अद्यतन विधि। तुम डरो हो;)। – user1871954

+1

समाधान बी पूरी तरह से काम करता है, धन्यवाद! –

+0

$ ("# सामग्री")। MCustomScrollbar ("अद्यतन"); मेरा दिन बचाया, धन्यवाद – David

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