2013-02-25 33 views
5

मैं एक तत्व जो एक निश्चित स्थिति है, लेकिन स्क्रॉल करने की क्षमता है बाएँ और दाएँ एक jQuery गणना जो मैं this example on JsFiddle.तत्व तेजी से दस्तावेज़ के बाकी की तुलना में स्क्रॉल है

$(window).scroll(function(event) { 
var x = 0 - $(this).scrollLeft(); 
var y = $(this).scrollTop(); 

// whether that's below the form 
if (y >= top) { 
    // if so, ad the fixed class 
    $('.scroll_fixed').addClass('fixed'); 
} else { 
    // otherwise remove it 
    $('.scroll_fixed').removeClass('fixed'); 
} 

$(".scroll_fixed").offset({ 
    left: x + leftInit 
}); 

}); 

से उपयोग किए थे समाधान तब तक अच्छा काम करता है जब तक मुझे बाईं ओर स्क्रॉल नहीं करना पड़ता है, जहां तत्व को शेष दस्तावेज़ के विरुद्ध "लंबन" स्क्रॉल किया जाता है - यानी, यह शेष दस्तावेज़ के जितना तेज़ होता है।

मुझे पता है कि यह jQuery गणना के साथ एक समस्या है, लेकिन यह सोच रहा था कि कोई इस से पहले आया है? और यदि हां, तो आप इससे कैसे निपट गए? मैं एक नुकसान का एक सा पर हूँ ....

संपादित

समस्या हल - यह हो गया क्योंकि कोड $ (विंडो) उपयोग कर रहा था .scrollLeft(); तत्व के दायरे में मूल तत्व के बजाय मैं हेरफेर करना चाहता था।

रैपर div को "wrapperDiv" के रूप में वर्गीकृत किया गया था, इसलिए मैंने $ ("। WrapperDiv") का उपयोग किया। ScrollLeft();

मैं इस सवाल के रूप में पूछा निशान होता है, लेकिन जैसा कि मैंने ओवरफ्लो स्टैक करने के लिए नया हूँ मैं एक और 7 घंटे के लिए उत्तर नहीं दे सकता ....

उत्तर

0

बस ध्वज को इस सवाल का जवाब के रूप में:

"यह ऐसा इसलिए था क्योंकि कोड तत्व के दायरे में पैरेंट तत्व के बजाय $(window).scrollLeft(); का उपयोग कर रहा था, जिसे मैं छेड़छाड़ करना चाहता था। रैपर div को "wrapperDiv" के रूप में वर्गीकृत किया गया था, इसलिए मैंने $(".wrapperDiv").scrollLeft(); "

का उपयोग किया