Javascript 关闭firefox';什么是平滑滚动?
Firefox新的平滑滚动功能会在动画的每一步触发滚动回调 有没有什么办法让它Javascript 关闭firefox';什么是平滑滚动?,javascript,jquery,Javascript,Jquery,Firefox新的平滑滚动功能会在动画的每一步触发滚动回调 有没有什么办法让它 仅在页面完成滚动时激发一个事件 使页面像在Chrome中那样突然滚动 试试这个: function throttle( fn, timeout ) { var tid = 0; return function() { clearTimeout( tid ); var args = [].slice.call( arguments ), ctx =
function throttle( fn, timeout ) {
var tid = 0;
return function() {
clearTimeout( tid );
var args = [].slice.call( arguments ),
ctx = this;
tid = setTimeout( function() {
fn.apply( ctx, args );
}, timeout );
};
}
$(window).on("scroll", throttle( function() {
$('div').eq(0).append('scroll happened');
}, 100));
只有在100毫秒内没有滚动发生时,才会触发滚动
这取决于你的目的。根据您的代码,我猜测您希望在用户向下滚动页面时触发动画,有点像保镖本:
要实现这一点,请将动画绑定到页面中的位置。您可以从传递给scroll方法的事件对象中获取当前滚动位置。然后,您需要进行一些数学运算,以确定当前滚动位置是否已发生足够的变化,从而触发下一个动画。这是一个非常酷的效果!虽然不完全是你想要的?很好,但感觉比我想要的更粗糙。此外,它仅在滚动后100毫秒执行。除了预测某个特定时间(如100毫秒)外,无法预测用户何时停止滚动。即使在一个“非黑客”包中有类似的东西,实现也会在幕后使用这种方法。例如,“双击”仅为2次点击,点击之间的时间为
x
毫秒,例如300。