मुझे स्क्रॉल बार jquery का उपयोग करने के लिए जांचने के कुछ शानदार तरीके मिले हैं, लेकिन मैं सोच रहा था कि क्या उपयोगकर्ता अलग-अलग हो सकता है कि उपयोगकर्ता ऊपर या नीचे स्क्रॉल करता है या नहीं?jquery में स्क्रॉल अप/डाउन के बीच अंतर करें?
उत्तर
अंतिम राज्य की जांच करें। कुछ इस तरह:
एक चर रखें, कहते हैं, last_scroll_position
, और आप एक स्क्रॉल है जब, अगर last_scroll_position - current_position > 0
, उपयोगकर्ता ऊपर अगर यह कम से कम 0.
धन्यवाद। मुझे पता था कि मुझे इस तरह के एक चर का उपयोग करना था, तर्क सिर्फ मेरे दिमाग में पंजीकरण नहीं कर रहा था। – Johannes
@Gabi Purcaru, यदि 'last_scroll_position' और 'current_position' समान हैं, तो परिणाम' 0' होगा, उस समय में कैसे ?????? – rynhe
@rynhe अगर 'last_scroll_position - current_position == 0', तो उपयोगकर्ता ने सभी –
स्क्रॉल ऊपर/के बीच अंतर करने के लिए नीचे है नीचे स्क्रॉल, और 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
}
});
इस विधि भी divs कि overflow:hidden
में काम करता है।
मैं सफलतापूर्वक Firefox, IE और क्रोम में यह परीक्षण किया गया।
इस कोड को साझा करने के लिए बहुत बहुत धन्यवाद, यह पूरी तरह से ओपेरा और सफारी में काम कर रहा है ... :) – rynhe
ग्रेट - मैं अब कुछ समय से इसकी तलाश कर रहा था ... धन्यवाद @ जोर्डी वान डुजिन –
अच्छा समाधान !, आप शायद एक नज़र डालें: *** [व्हील इवेंट] (https://developer.mozilla.org/en-US/docs/Web/Events/wheel) *** – jherax
किसी भी तरह के वैश्विक चर के बिना इसे करने का एक आसान तरीका है। माउसहेल घटना में एक संपत्ति स्पष्ट रूप से स्क्रॉलिंग दिशा निर्दिष्ट करती है। इसका इस्तेमाल करने के तरीके:
$("#scroll_div").bind("mousewheel",function(ev) {
var curScrollLeft = $(this).scrollLeft();
$(this).scrollLeft(curScrollLeft + Math.round(ev.originalEvent.wheelDelta));
});
मैं इसे कभी कोशिश करें, धन्यवाद! – Johannes
<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
});
});
सरल स्क्रॉलिंग के लिए पूरी तरह से काम करता है। मुझे इसकी ही खोज थी! –
स्क्रॉल घटना
scroll event एफएफ में अजीब तरह से बर्ताव करता है (यह क्योंकि चिकनाई स्क्रॉल के समय का एक बहुत सक्रिय किया जाता है), लेकिन यह काम करता है।
नोट:scroll घटना वास्तव में निकाल दिया जाता है जब स्क्रॉल पट्टी खींच, कर्सर कुंजियों या माउसव्हील का उपयोग कर।
//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);
});
व्हील घटना
तुम भी MDN पर एक नज़र ले सकते हैं, यह Wheel Event के बारे में बहुत जानकारी उजागर करता है।
नोट: पहिया घटना केवल निकाल दिया जाता है जब माउसव्हील उपयोग करते हुए; कर्सर कुंजी और स्क्रॉल बार खींचने से ईवेंट को आग नहीं मिलती है।
मैं दस्तावेज़ और उदाहरण पढ़ें: Listening to this event across browser
और एफएफ, आईई, क्रोम, सफारी के साथ कुछ परीक्षणों के बाद, मैं इस स्निपेट के साथ समाप्त हो गया:
//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);
- 1. $ (document.body) और $ ('body') के बीच अंतर JQuery
- 2. jQuery - $ .functionName और के बीच अंतर $ .fn.FunctionName
- 3. Jquery मोबाइल में क्षैतिज स्क्रॉल कैसे करें?
- 4. नीचे स्क्रॉल कैसे करें - JQuery
- 5. एक jQuery प्लगइन और एक jQuery विजेट के बीच अंतर?
- 6. jquery और jquery UI के बीच क्या अंतर है?
- 7. jquery में get() और eq() के बीच क्या अंतर है?
- 8. एंड्रॉइड न्यूमेरिक अपडाउन बटन है?
- 9. jQuery स्क्रॉल पृष्ठ के नीचे
- 10. jQuery स्क्रॉल आईई 8
- 11. छवियों के बीच अंतर
- 12. ट्रिगर ('क्लिक') के बीच क्या अंतर है और jQuery (
- 13. डेटा बिंदुओं के बीच अंतर कैसे करें?
- 14. जेक्यू टच और jQuery मोबाइल के बीच अंतर
- 15. पृष्ठ के नीचे jQuery स्क्रॉल
- 16. jQuery एनिमेट स्क्रॉल
- 17. Jquery, स्क्रॉल बार
- 18. "। +" और "। +?" के बीच अंतर
- 19. तीन के बीच अंतर
- 20. jQuery UI टैब को कैसे स्क्रॉल करें?
- 21. $ (यह) और यह jQuery में इसके बीच क्या अंतर है?
- 22. jQuery अद्यतन के बाद भी div के नीचे स्क्रॉल करें?
- 23. JQuery: इन दो बयानों के बीच क्या अंतर है?
- 24. jQuery .val() और .attr ('value') के बीच क्या अंतर है?
- 25. $ .add और $ के बीच क्या अंतर है। JQuery
- 26. jquery.simulate.js और jQuery ईवेंट विधियों के बीच अंतर?
- 27. jquery चयनकर्ताओं और जेएस चयनकर्ताओं के बीच क्या अंतर है?
- 28. जावा में प्रयास करें और फेंकने के बीच अंतर
- 29. मिलीसेकंड में दो QDateTimes के बीच अंतर कैसे प्राप्त करें?
- 30. jQuery रैप और रैप के बीच अंतर सभी
मुझे पता है कि यह पुराना है, लेकिन: http: // stackoverflow।कॉम/प्रश्न/4326845/कैसे-कर-मैं-निर्धारित-दिशा-के-एक-jquery-scroll-event –