2012-04-05 23 views
9

मेरे पास कुछ एंकर हैं जो पृष्ठ के भीतर विशिष्ट अनुभागों (हैशटैग का उपयोग करके) से लिंक करते हैं, और जो दस्तावेज़ विंडो के ऊपर या नीचे स्क्रॉल करते हैं।स्क्रॉलटॉप एनीमेशन के बाद स्क्रॉलिंग/स्क्रॉलबार ताले

$("html, body").animate({ scrollTop: $(document).height() }, 2000); 

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

इस पर कोई सुझाव क्या हो सकता है?

उत्तर

16

यह धागा पुराना है, लेकिन मैं इस में भाग गया और वहाँ जवाब कहीं भी नहीं हैं, लेकिन यहाँ एक समाधान है:

$(window).bind("mousewheel", function() { 
    $("html, body").stop(); 
}); 

उपयोगकर्ता स्क्रॉलबार जबकि एनीमेशन निष्पादित हो रहा है उपयोग करता है, यह एनिमेशन बंद हो। clearQueue & jumpToEnd:

+0

वाह! इसने मेरे लिए भी मुद्दा हल किया, साझा करने के लिए बहुत बहुत धन्यवाद! :) –

+0

धन्यवाद, धन्यवाद, धन्यवाद! – TWright

7

बस स्कॉटी के जवाब में योगदान के लिए, आप वास्तव में ऐसे दो विकल्प .stop() विधि को जोड़ सकते हैं।

मैं एक स्क्रॉल मुद्दे पर भाग गया, और स्कॉटी के सुझाए गए .stop() का उपयोग शुरू किया, लेकिन ध्यान दिया कि एनीमेशन अभी भी खत्म करने के लिए "संघर्ष" कर रहा था। मैं बाहर की जाँच की प्रलेखन यहाँ: .stop() Method Documentation

.stop(true, false); जोड़ने मैं करने में सक्षम था द्वारा:

1.) कतारबद्ध एनिमेशन निकाल सकते हैं (सिर्फ मामले कई में उन्हें ट्रिगर किया गया/व्यापक)

2.) एनीमेशन को रोकने के अपने अंतिम मूल्य पर कूदने की कोशिश से।

आशा है कि कीबोर्ड के खिलाफ अपने सिर को टक्कर मारने में किसी और की मदद करें;)