有没有办法scroll在jQuery中获取鼠标滚轮事件(而不是讨论事件)?
我正在使用JQuery创建滚动效果,我想知道是否可以区分用户滚动和编程滚动.
我有这样的事情:
$('#element').on('scroll',function(e){
$('#element').stop(true); // stop previous scrolling animation
$('#element').animate({ // start new scrolling animation (maybe different speed, different direction, etc)
scrollTop:...
});
});
Run Code Online (Sandbox Code Playgroud)
但是,在动画的每个步骤中都会触发此事件.如何判断此事件是由用户还是动画触发?
我想知道是否有可能触发一个事件后,使用滚动条或鼠标滚轮(或带有触摸屏设备上轻扫)当一个页面的滚动.
基本上,我想检测用户何时停止滚动,以便我可以加载AJAX,而不是在滚动时加载.
似乎jQuery's .scroll()每次用户滚动时都会触发,并且一直有事件触发似乎很笨拙.有没有这样的东西.onScrollAfter(),同义词.onMouseUp()?
我想知道这是否可行(或者如果函数已经存在)而不使用框架,尽管我会考虑一个; 特别是jQuery.
在单击事件后激活滚动侦听器的正确方法是什么?
我目前正在使用:
$('.button').click(function (event) {
$(window).on("scroll", someFunction);
}
someFunction = function() {
//do stuff
$(window).off("scroll"); //disable scroll listener
}
Run Code Online (Sandbox Code Playgroud)
在单击事件上,我启用了运行someFunction的滚动侦听器.该函数完成后填充并禁用滚动侦听器.单击时再次启用滚动侦听器.
我担心的是我做得不对.请指教!
注意:滚动侦听器无法无限期运行.它从点击开始,必须在myFunction结束时完成.
注意:我不会尝试检测用户何时停止滚动..
当用户滚动到div的竞争顶部时,你能告诉我如何获取事件吗?我有div有一些内容可争夺的竞争,如果用户滚动到顶部我想显示一个警告. http://jsfiddle.net/d9584/
<div id="contend">Tendulkar (Listeni/?s?t??n t?n?du?lk?r/; born 24 April 1973) is a former Indian cricketer widely acknowledged as the greatest batsman of the modern generation, popularly holds the title "God of Cricket" among his fans[2] He is also acknowledged as the greatest cricketer of all time.[6][7][8][9] He took up cricket at the age of eleven, made his Test debut against Pakistan at the age of sixteen, and went on to represent Mumbai domestically and India internationally for close to twenty-four …Run Code Online (Sandbox Code Playgroud)