2010-05-06 12 views
6

क्या मैं jscrollpne बना सकता हूं जैसे कि पैरेंट स्क्रॉल इसके नीचे तक पहुंचने पर भी पैरेंट फलक स्क्रॉल नहीं करता है। अब जब बच्चे स्क्रॉलिंग माता-पिता की निचली स्क्रॉलिंग तक पहुंच जाती है। मैं चाहता हूं कि माता-पिता केवल स्क्रॉल करें जब माउस बाल स्क्रॉलपैन से बाहर हो।jscrollpane ब्लॉक स्क्रॉलिंग पैरेंट

+0

:

// Public API $.extend( jsp, { ... initMousewheel : function(){ initMousewheel(); }, removeMousewheel : function(){ removeMousewheel(); } } ); 

अब आप सशर्त और pragmatically eanable/किसी भी jScrollPane की स्क्रॉल निष्क्रिय कर सकते हैं खुद को इसका जवाब जानना अच्छा नहीं होगा। – Atorian

उत्तर

5

व्यवहार आपके द्वारा बताई गई डिजाइन कर रहा है। इस प्रकार मूल ब्राउज़र स्क्रॉलबार एक तत्व पर व्यवहार करते हैं जिसमें अतिप्रवाह होता है: ऑटो। मैं इसे बदलने की सिफारिश नहीं करता।

$('.scroll-pane') 
    .jScrollPane() 
    .bind(
     'mousewheel', 
     function(e) 
     { 
      e.preventDefault(); 
     } 
    ); 

यहाँ एक उदाहरण देखें (आप तो माता-पिता स्क्रॉल करने के लिए किसी भी आवश्यकता है अपने विंडो हटना पड़ सकता है): http://jsfiddle.net/VYcDZ/51/

हालांकि, अगर आप चाहते हैं तो Borgenk के जवाब सही है, तो आप इस कोड का उपयोग कर सकते हैं
1

इस समस्या में पड़ गए आज रात ... कोई भी इस सवाल का जवाब था देखा तो मैं इसे लिखा था

var blockScrollTarget;  
$('.jscroll').mousewheel(blockScroll); 
     ...... 
    function blockScroll(e) { 
     blockScrollTarget = blockScrollTarget || $(e.currentTarget); 
     var d = blockScrollTarget.data('jsp'); 
     if(d.getPercentScrolledY() == 1 || d.getPercentScrolledY() == 0) { 
      return true; 
     } 
     if(d.getIsScrollableV()) { 
      e.preventDefault(); 
     } 
     } 
0

ऊपर जवाब मेरे लिए काम नहीं किया। आपके द्वारा संपादित प्लगइन स्रोत के साथ सहज हैं, तो आप सार्वजनिक एपीआई के लिए प्रासंगिक आंतरिक तरीकों का खुलासा कर सकते हैं:

api = $('#full-page-container').data('jsp'); 
api.removeMousewheel(); // disable 
api.initMousewheel(); // enable