दिलचस्प पोस्ट
स्ट्रिंग के लिए हैश फ़ंक्शन डिबगिंग (प्रदर्शित) SQL कमान एसबीएलकेमी द्वारा डीबी को भेजी गई प्रगति के लिए कस्टम Drawable बर / प्रगति Dialog IOS5 पर "kCTMessageReceivedNotification" सूचना प्राप्त करते समय संदेश कैसे प्राप्त करें बिगडीकैम बराबर () बनाम तुलना करें () लॉगिन मैक पर स्क्रिप्ट चलाना JSON.NET और nHibernate संग्रह की आलसी लोड हो रहा है स्टैक्ड बार चार्ट ऐसे एनएसएनम्बर जैसे अजीब क्यों बनाए गए हैं? सादे अंग्रेजी में PHP इको और PHP रिटर्न में क्या अंतर है? पायथन में ऑब्जेक्ट की एक सूची छपाई करते समय __str__ फ़ंक्शन कैसे लागू करें पॉज़िंग पाश के लिए और अधिक कुशल तरीका चाहता था सी # निर्माता / उपभोक्ता एकाधिक डेक्स फाइलें लैंडरोड / सपोर्ट / एनोटेशन / एनिररस को परिभाषित करती हैं नोटपैड ++ वृद्धिशील रूप से प्रतिस्थापित करें

Jquery में ऊपर / नीचे स्क्रॉल के बीच अंतर करते हैं?

मुझे स्क्रॉल पट्टी jquery का उपयोग कर रहा है, जहां के लिए जांचने के कुछ अच्छे तरीके मिल गए हैं, लेकिन मैं सोच रहा था कि क्या आप अंतर कर सकते हैं या नहीं कि उपयोगकर्ता ऊपर या नीचे स्क्रॉल करता है या नहीं?

वेब के समाधान से एकत्रित समाधान "Jquery में ऊपर / नीचे स्क्रॉल के बीच अंतर करते हैं?"

अंतिम स्थिति की जांच करें कुछ इस तरह:

एक चर रखें, कहते हैं, last_scroll_position , और जब आपके पास एक स्क्रॉल होता है, तो last_scroll_position - current_position > 0 , उपयोगकर्ता स्क्रॉल करते हैं, और नीचे 0 से भी कम है।

 <script type='text/javascript'> $(function(){ var CurrentScroll = 0; $(window).scroll(function(event){ var NextScroll = $(this).scrollTop(); if (NextScroll > CurrentScroll){ //write the codes related to down-ward scrolling here } else { //write the codes related to upward-scrolling here } CurrentScroll = NextScroll; //Updates current scroll position }); }); 

JQuery में स्क्रॉल / डाउन के बीच अंतर करने के लिए, आप इसका उपयोग कर सकते हैं:

 var mousewheelevt = (/Firefox/i.test(navigator.userAgent)) ? "DOMMouseScroll" : "mousewheel" //FF doesn't recognize mousewheel as of FF3.x $('#yourDiv').bind(mousewheelevt, function(e){ var evt = window.event || e //equalize event object evt = evt.originalEvent ? evt.originalEvent : evt; //convert to originalEvent if possible var delta = evt.detail ? evt.detail*(-40) : evt.wheelDelta //check for detail first, because it is used by Opera and FF if(delta > 0) { //scroll up } else{ //scroll down } }); 

यह विधि उस डिवा में भी काम करती है जो overflow:hidden

मैं फ़ायरफ़ॉक्स, आईई और क्रोम में सफलतापूर्वक इसका परीक्षण कर रहा हूं।

स्क्रॉल ईवेंट

स्क्रॉल ईवेंट एफएफ में अजीब व्यवहार करता है (यह चिकनाई स्क्रॉलिंग के कारण बहुत समय से निकाल दिया गया है) लेकिन यह काम करता है।

ध्यान दें: स्क्रॉल की घटना को वास्तव में स्क्रॉल बार खींचते समय निकाल दिया जाता है , कर्सर कुंजियों या म्यूसवील का उपयोग करते हुए

 //creates an element to print the scroll position $("<p id='test'>").appendTo("body").css({ padding: "5px 7px", background: "#e9e9e9", position: "fixed", bottom: "15px", left: "35px" }); //binds the "scroll" event $(window).scroll(function (e) { var target = e.currentTarget, $self = $(target), scrollTop = window.pageYOffset || target.scrollTop, lastScrollTop = $self.data("lastScrollTop") || 0, scrollHeight = target.scrollHeight || document.body.scrollHeight, scrollText = ""; if (scrollTop > lastScrollTop) { scrollText = "<b>scroll down</b>"; } else { scrollText = "<b>scroll up</b>"; } $("#test").html(scrollText + "<br>innerHeight: " + $self.innerHeight() + "<br>scrollHeight: " + scrollHeight + "<br>scrollTop: " + scrollTop + "<br>lastScrollTop: " + lastScrollTop); if (scrollHeight - scrollTop === $self.innerHeight()) { console.log("► End of scroll"); } //saves the current scrollTop $self.data("lastScrollTop", scrollTop); }); 

व्हील इवेंट

आप एमडीएन पर एक नज़र भी देख सकते हैं, यह व्हील इवेंट के बारे में बहुत अच्छी जानकारी का खुलासा करता है

नोट: पहिया घटना को केवल तब चलाया जाता है जब मुसवील का उपयोग किया जाता है ; कर्सर कुंजियां और स्क्रॉल पट्टी को खींचने से ईवेंट को आग नहीं लगती।

मैं दस्तावेज़ और उदाहरण पढ़ता हूं: इस घटना को पूरे ब्राउज़र में सुनना
और एफएफ, आईई, क्रोम, सफारी के साथ कुछ परीक्षणों के बाद, मैं इस स्निपेट के साथ समाप्त हुआ:

 //creates an element to print the scroll position $("<p id='test'>").appendTo("body").css({ padding: "5px 7px", background: "#e9e9e9", position: "fixed", bottom: "15px", left: "15px" }); //attach the "wheel" event if it is supported, otherwise "mousewheel" event is used $("html").on(("onwheel" in document.createElement("div") ? "wheel" : "mousewheel"), function (e) { var evt = e.originalEvent || e; //this is what really matters var deltaY = evt.deltaY || (-1 / 40 * evt.wheelDelta), //wheel || mousewheel scrollTop = $(this).scrollTop() || $("body").scrollTop(), //fix safari scrollText = ""; if (deltaY > 0) { scrollText = "<b>scroll down</b>"; } else { scrollText = "<b>scroll up</b>"; } //console.log("Event: ", evt); $("#test").html(scrollText + "<br>clientHeight: " + this.clientHeight + "<br>scrollHeight: " + this.scrollHeight + "<br>scrollTop: " + scrollTop + "<br>deltaY: " + deltaY); }); 

वेनिला जावास्क्रिप्ट का उदाहरण:

 var f = (function(){ var oldPos = window.scrollY; function fu(e) { var newPos = window.scrollY; if (newPos>oldPos) { console.log('down'); } else if(newPos<oldPos) { console.log('up'); } else { console.log('same'); } oldPos = newPos; } return fu; })(); window.addEventListener('scroll',f); 

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

  $("#scroll_div").bind("mousewheel",function(ev) { var curScrollLeft = $(this).scrollLeft(); $(this).scrollLeft(curScrollLeft + Math.round(ev.originalEvent.wheelDelta)); });