10
rated 0 times
[
11]
[
1]
/ answers: 1 / hits: 35364
/ 11 Years ago, mon, december 23, 2013, 12:00:00
This question was already asked here a long time ago:
Detect jquery event trigger by user or call by code
But it has never been answered conclusively (or maybe I'm simply not able to search properly).
Is it possible to detect whether a scroll
event has been triggered by the user or by the jQuery animate
function?
I am trying to prevent the scroll
event to trigger itself while doing something like this:
$(document).scroll(function(){
$(html).stop(true);
var number = 400; //some other stuff is happening here
clearTimeout(tout);
tout = setTimeout(function(){
if(top == $(document).scrollTop()){
$(html).animate({
scrollTop: (number),
easing: easeInQuad,
duration: 110
});
}
},120);
});
This code seems to be suitable:
$('#scroller').scroll(function(e) {
if (e.originalEvent) {
console.log('scroll happen manual scroll');
} else {
console.log('scroll happen by call');
}
});
But the originalEvent
object isn't able to detect the animate trigger properly.
Is there any other way to do this?
More From » jquery