2011-08-16 16 views
28

मैं jQuery के साथ क्षैतिज स्क्रॉलिंग का पता कैसे लगा सकता हूं?jQuery में क्षैतिज स्क्रॉलिंग का पता लगाने के लिए कैसे?

यह सब स्क्रॉल मिल जाएगा:

$(window).scroll(function() { 
    alert('in'); 
}); 

मैं सिर्फ क्षैतिज एक चाहते हैं।

उत्तर

34

ऐसा लगता है कि यह काम करता है।

var lastScrollLeft = 0; 
$(window).scroll(function() { 
    var documentScrollLeft = $(document).scrollLeft(); 
    if (lastScrollLeft != documentScrollLeft) { 
     console.log('scroll x'); 
     lastScrollLeft = documentScrollLeft; 
    } 
}); 

jsFiddle

+0

हम .scroll की आवश्यकता क्यों है(); अतं मै? –

+0

@Aharon यह मेरे पिछले अवतार का परिशिष्ट था। यह अब अनावश्यक है और मैं अपना जवाब अपडेट करूंगा :) – alex

+0

यह केवल मूल्य बढ़ाता है। सही होने पर मैं इसे कैसे बढ़ा सकता हूं और बाईं ओर जाने पर इसे कम करता हूं क्या आप जानते हैं? अग्रिम में धन्यवाद। –

5

एक अद्यतन छोड़ दिया है या दिशा सही एक क्षैतिज ऊपर कोड के आधार पर पुस्तक में पता चलता है कि: http://jsfiddle.net/EsPk7/7/

3

dunderwood के jsFiddle लिंक पर

var lastPos = 0; 
$(window).scroll(function() { 
    var currPos = $(document).scrollLeft(); 

    if (lastPos < currPos) { 
     console.log('scroll right'); 
    } 
    if (lastPos > currPos) 
    { 
     console.log('scroll left'); 
    } 

    lastPos = currPos; 
}); 

टेस्ट यह वास्तव में अपने कोड को शामिल नहीं किया था। मैं क्या क्या वह यहां पोस्ट का एक मिश्रण है और क्या jsFiddle पर है के साथ अपने jsFiddle काँटेदार है:

var lastPos = 0; 
$(window).scroll(function() { 
    var currPos = $(document).scrollLeft(); 

    if (lastPos < currPos) { 
     $('#current').html('Right'); 
    } 
    if (lastPos > currPos) { 
     $('#current').html('Left'); 
    } 

    lastPos = currPos; 
}); 

http://jsfiddle.net/kuVK8/

+0

एक छोटी सी समस्या है। जब आप ऊपर और नीचे लिखते हैं, तो दाएं और बाएं लिखते हैं। क्या कोई समाधान है? – Rys

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