2012-07-24 11 views
6

मैं niceScroll jQuery प्लगइन का उपयोग कर रहा हूं सामान्य ब्राउज़र स्क्रॉलबार को <div>'s ओवरफ़्लोइंग में बदलने के लिए। प्लगइन अच्छा काम कर रहा है, लेकिन मैं इसे काम करने के लिए नहीं मिल सकता और स्क्रॉल रेल हमेशा प्रदर्शित करता हूं (भले ही सामग्री <div> सीमा से अधिक न हो)। मेरे अंतिम विन्यास है:हमेशा अच्छा स्क्रॉल रेल प्रदर्शित करें

$(document).ready(function() { 
    $(".div-wrapper").niceScroll({ 
     cursorcolor: "#333", 
     cursoropacitymin: 0.3, 
     background: "#bbb", 
     cursorborder: "0", 
     autohidemode: false, 
     cursorminheight: 30 
    }); 
}; 

मैं $(".div-wrapper").getNiceScroll().show() आग की कोशिश की है, लेकिन यह या तो काम करने के लिए प्रतीत नहीं होता।

किसी भी मदद की सराहना की जाएगी, धन्यवाद

उत्तर

6

सबसे पहले, आपके पास के अंत में एक अनुपलब्ध संश्लेषण है - क्या यह आपकी समस्या हो सकती है?

ऑटोहोइडमोड को झूठी पर सेट करना केवल इसका मतलब है कि उपयोगकर्ता गायब होने पर फिर गायब नहीं होता है और फिर स्क्रॉल करते समय फिर से दिखाई देता है। दुर्भाग्य से इसका मतलब यह नहीं है कि सामग्री दिखाई नहीं दे रही है।

एक समाधान आप कुछ इस तरह के साथ आईडी = ascrail2000 .niceScroll (करने के लिए अपने कॉल के बाद स्पष्ट रूप से दिखाई दे रहा) के साथ तत्व बनाने की कोशिश कर सकते हैं:

$(document).ready(function() { 
    $(".div-wrapper").niceScroll({ 
     cursorcolor: "#333", 
     cursoropacitymin: 0.3, 
     background: "#bbb", 
     cursorborder: "0", 
     autohidemode: false, 
     cursorminheight: 30 
    }); 
    $('#ascrail2000').show(); 
}); 

अंतिम पंक्ति में लापता PAREN देखें

आप दिखाई के रूप में अच्छी तरह से अपने बच्चों तत्वों बनाने के लिए आवश्यकता हो सकती है:

$('#ascrail2000 *').show(); 

(सुनिश्चित करें कि तत्व ' रों आईडी आपके मामले में ascrail2000 है)

अद्यतन:। ऊपर किया जा सकता है veritas के रूप में, ने कहा है एक अधिक सामान्य चयनकर्ता #ascrail2000 के बजाय div[id^='ascrail'] यह एक पृष्ठ पर एक से अधिक nicescroll के लिए काम करता है का उपयोग करते हुए, तो जावास्क्रिप्ट के साथ:

$("div[id^='ascrail']").show(); 

या CSS में:

div[id^='ascrail'] { display: block; } 

या इसके बाद अगर काम नहीं करता:

div[id^='ascrail'] { display: block !important; } 

यह सबसे सुरुचिपूर्ण समाधान नहीं है लेकिन मुझे डर है कि वर्तमान में यह समस्या हल करने का एकमात्र तरीका है क्योंकि nicescroll प्लगइन में उस व्यवहार का चयन करने का विकल्प नहीं है। सौभाग्य से nicescroll ओपन सोर्स और available on GitHub है, इसलिए कोई आसानी से इसे फोर्क कर सकता है और गिटहब पर ऐसा विकल्प या post a feature request जोड़ सकता है।

+0

धन्यवाद लेकिन मैं अपने प्रश्न में एक टाइपो था:/मैं जावास्क्रिप्ट (या सीएसएस) में हार्डकोडेड '#ascrail ...' मान सेट नहीं कर सकता क्योंकि मेरे पास पृष्ठ पर 'n' स्क्रॉल हो सकते हैं। लेकिन प्रयास और आंशिक रूप से अच्छे उत्तर के लिए '1''। – veritas

+0

सीएसएस चयनकर्ता 'div [id^=' ascrail '] {display: block; } 'इस समस्या के लिए एक सीएसएस समाधान है लेकिन मैं कुछ और पसंद करूंगा। – veritas

+1

@veritas: मुझे डर है कि वर्तमान में कोई बेहतर समाधान नहीं है लेकिन आप इसे आसान बनाने के लिए हमेशा एक सुविधा अनुरोध पोस्ट कर सकते हैं - मेरा अद्यतन उत्तर देखें। – rsp

0

मैं यह सोचते हैं कि यदि सामग्री सीमांकन बॉक्स अतिप्रवाह नहीं करता है, Nicescroll कुछ भी है, जो आपकी समस्या हो सकती है नहीं करता है। ध्यान रखें कि niceScroll नहीं है> $ ओवरफ़्लो: स्क्रॉल; ... प्लगइन के माध्यम से खोदने के बिना मैं निश्चित नहीं हो सकता लेकिन मुझे लगता है कि यह जांचने के लिए अंतर्निहित चेक है कि सामग्री को स्क्रॉल करने की आवश्यकता है या नहीं, और यदि यह नहीं करता है, तो समारोह चुपचाप बाहर निकलता है।

+0

प्लगइन डीओएम में स्क्रॉल 'divs' बना रहा है और अपना मान' डिस्प्ले पर सेट कर रहा है: none; ' तो यह काम करता है। – veritas

6
$(".div-wrapper").niceScroll({ 
    cursorcolor: "#333", 
    cursoropacitymin: 0.3, 
    background: "#bbb", 
    cursorborder: "0", 
    autohidemode: false, 
    cursorminheight: 30 
}); 
0

मैं एक गूगल खोज के साथ इस जवाब देखने के, यहां तक ​​कि वह पुराना हो, यह मेरा काम कर समाधान है अगर कोई एक जवाब के लिए इस मांग देखें:

 $('#ascrail2000.nicescroll-rails').show(); 
     $('#ascrail2000.nicescroll-rails div').height('300px').show(); 

मैं करने के लिए एक मनमाना ऊंचाई निर्धारित करने की आवश्यकता "बार" div, क्योंकि डिफ़ॉल्ट रूप से यह ऊंचाई है: 0px, भले ही आप इसे प्रदर्शित करते हैं, आप कुछ भी नहीं देख सकते हैं। मुझे लगता है कि हम विंडोज आयामों के साथ अच्छी ऊंचाई की गणना कर सकते हैं, लेकिन मुझे इसकी आवश्यकता नहीं है :)

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