दिलचस्प पोस्ट
php तारीख सत्यापन java.lang.NoClassDefFound त्रुटि: संगठन / वसंतफ्रेमवर्क / कोर / एनवाईवी / कॉन्फ़िगर करने योग्य पर्यावरण आईओएस 10 जीएम के साथ एक्सकोड 8 जीएम राउंडेड कोर्नर्स और क्लिप टू बॉल के कारण गायब होने का कारण बनता है स्विफ्ट चर सजावट "?" (प्रश्न चिह्न) और "!" (उद्गार चिन्ह) के साथ दृश्य को बिटमैप में कैसे रूपांतरित करना है? पोस्टग्रेस्क्ल GROUP_CONCAT समकक्ष? रेल एप्लिकेशन को आइकन जोड़ना ऐप अग्रभूमि में है, जबकि दिखाने के लिए स्थानीय सूचनाएं प्राप्त करना स्विफ्ट 3 मैं tiny एमईई को कैसे निकालूं और फिर इसे फिर से जोड़ूं? file_get_contents => PHP गंभीर त्रुटि: अनुमति स्मृति समाप्त हो गया कार्यों में निर्मित (या किसी अन्य विधि) का उपयोग करके सी ++ में 2 डी सरणी को सॉर्ट करें? क्या कोई संदर्भ पता पाने का कोई तरीका है? एंड्रॉइड स्टूडियो अनुपलब्ध है नई गतिविधि शुरू करते समय गतिविधि स्लाइड-इन एनीमेशन अक्षम करें? VB.NET में स्ट्रिंग हेरफेर और और +

मैं एक जावास्क्रिप्ट / jQuery स्क्रॉल से मैन्युअल स्क्रॉल (म्यूसवील / स्क्रॉलबार के माध्यम से) कैसे अंतर कर सकता हूं?

अद्यतन करें:

यहां समस्या का प्रदर्शन करने के लिए एक जेएसबीएन उदाहरण है।

अद्यतन 2:
और यहां फ्यूजजी के लिए निश्चित संस्करण है ।


असल में, मेरे पास निम्न जावास्क्रिप्ट है जो पृष्ठ पर एक एंकर को विंडो स्क्रॉल करता है:

// get anchors with href's that start with "#" $("a[href^=#]").live("click", function(){ var target = $($(this).attr("href")); // if the target exists: scroll to it... if(target[0]){ // If the page isn't long enough to scroll to the target's position // we want to scroll as much as we can. This part prevents a sudden // stop when window.scrollTop reaches its maximum. var y = Math.min(target.offset().top, $(document).height() - $(window).height()); // also, don't try to scroll to a negative value... y=Math.max(y,0); // OK, you can scroll now... $("html,body").stop().animate({ "scrollTop": y }, 1000); } return false; }); 

यह पूरी तरह से काम करता है …… जब तक मैं मैन्युअल रूप से खिड़की को स्क्रॉल करने की कोशिश नहीं करता। जब स्क्रॉलबार या मूसीवेल को स्क्रॉल किया जाता है तो मुझे वर्तमान स्क्रॉल एनीमेशन को रोकना होगा … लेकिन मुझे यकीन नहीं है कि यह कैसे करना है

यह शायद मेरा प्रारंभिक बिंदु है …

 $(window).scroll(e){ if(IsManuallyScrolled(e)){ $("html,body").stop(); } } 

… लेकिन मुझे यकीन नहीं है कि IsManuallyScrolled फ़ंक्शन को कैसे कोड करना है। मैंने Google क्रोम के कंसोल और AFAIK में e ( event ऑब्जेक्ट) की जांच की है, मैन्युअल स्क्रॉल और jQuery के animate() स्क्रॉल के बीच अंतर करने का कोई तरीका नहीं है।

मैन्युअल स्क्रॉल और jQuery के $.fn.animate फ़ंक्शन के माध्यम से एक के बीच अंतर कैसे किया जा सकता है?

Solutions Collecting From Web of "मैं एक जावास्क्रिप्ट / jQuery स्क्रॉल से मैन्युअल स्क्रॉल (म्यूसवील / स्क्रॉलबार के माध्यम से) कैसे अंतर कर सकता हूं?"

इस फ़ंक्शन को आज़माएं:

 $('body,html').bind('scroll mousedown wheel DOMMouseScroll mousewheel keyup', function(e){ if ( e.which > 0 || e.type == "mousedown" || e.type == "mousewheel"){ $("html,body").stop(); } }) 

इसके अलावा, क्या आपने इस ट्यूटोरियल को देखा है ?

अपडेट: आधुनिक ब्राउज़र अब ईवेंट के रूप में "व्हील" का उपयोग करते हैं, इसलिए मैंने इसे ऊपर दिए गए कोड में शामिल किया है

मुझे कुछ ही दिन पहले ही एक ही समस्या थी। यदि आप उस परिणाम प्राप्त करना चाहते हैं तो आपको jquery चेतन फ़ंक्शन का उपयोग नहीं करना चाहिए, आपको मतदान समारोह का उपयोग करके एनीमेशन का अनुकरण करना होगा।

मैंने इस वर्ग को बनाया है, जिसे स्क्रॉलडाउन . slow () कहा जाता है जब एक चिकनी स्कॉलडाउन प्रदान करना चाहिए।

 ScrollDown.current=$(window).scrollTop(); ScrollDown.lastValue; ScrollDown.lastType; ScrollDown.enabled=true; ScrollDown.custom=function(value,rate){ //let's say value==='bottom' and rate=10 if(value==='bottom'){ value=$(document).height()-$(window).height(); } ScrollDown.current=$(window).scrollTop(); ScrollDown.lastValue=value; (function poll(){ setTimeout(function(){ var prev=$(window).scrollTop(); //This is the critical part /*I'm saving again the scroll position of the window, remember 10 ms have passed since the polling has started At this rate, if the user will scroll up for down pre!==ScrollDown.current And that means I have to stop scrolling.*/ ScrollDown.current++; //increasing the scroll variable so that it keeps scrolling $(window).scrollTop(ScrollDown.current); if(ScrollDown.current<ScrollDown.lastValue && ScrollDown.enabled){ //ScrollDown.current<ScrollDown.lastValue basically checks if it's reached the bottom if(prev!==ScrollDown.current-1){ /*I'm checking if the user scrolled up or down while the polling has been going on, if the user scrolls up then prev<ScrollDown.current-1, if the user scrolls down then prev>ScrollDown.current-1 and at the next poll() the scrolling will stop because ScrollDown.enabled will bet set to false by ScrollDown.stop()*/ ScrollDown.stop(); } poll(); } },rate); })(); }; ScrollDown.stop=function(){ ScrollDown.enabled=false; }; ScrollDown.continue=function(){ ScrollDown.enabled=true; switch (ScrollDown.lastType){ case "fast": ScrollDown.fast(ScrollDown.lastValue); break; case "normal": ScrollDown.normal(ScrollDown.lastValue); break; case "slow": ScrollDown.slow(ScrollDown.lastValue); break; } }; ScrollDown.fast=function(value){ if(!ScrollDown.enabled){ ScrollDown.continue(); }else{ ScrollDown.lastType='fast'; ScrollDown.custom(value,1); } }; ScrollDown.normal=function(value){ if(!ScrollDown.enabled){ ScrollDown.continue(); }else{ ScrollDown.lastType='normal'; ScrollDown.custom(value,10); } }; ScrollDown.slow=function(value){ if(!ScrollDown.enabled){ ScrollDown.continue(); }else{ ScrollDown.lastType='slow'; ScrollDown.custom(value,50); } }; function ScrollDown(){} 

इसलिए यदि आप स्क्रॉलडाउन.slow ('नीचे') को कॉल करते थे तो जब तक आप मैन्युअल रूप से ऊपर या नीचे स्क्रॉल नहीं करते, तब तक यह धीरे-धीरे स्क्रॉल करना शुरू कर देगा, तब यह बंद हो जाता है

आप यह इंगित करने के लिए एक चर सेट कर सकते हैं कि आपका कॉल सजीव है, फिर उस स्क्रॉल हैंडलर के भीतर की चर जांचें।

 window.IsAutoScrolling = true; $("html,body").stop().animate({ "scrollTop": y }, 1000); // Do something to set IsAutoScrolling = false, when the animation is done. $(window).scroll(e){ if(!window.IsAutoScrolling){ $("html,body").stop(); }