Tag: flexslider mousewheel

OSX惯性滚动导致mousewheel.js以最轻微的滚动动作注册多个鼠标滚轮事件

我有一个非常标准的Flexslider实例,我正在努力。 Flexslider与jquery.mousewheel.js插件完美结合,允许幻灯片在鼠标滚轮事件上移动。 但是,Mac OSX和其他人使用“intertia”滚动效果,几乎不可能只向左或向右滚动一张幻灯片。 一般效果是,即使在这些情况下最轻微的滚动运动也会触发多个鼠标滚轮事件,并向左或向右滚动滑块多个图像。 显然,这不可能发生! 我认为解决方案是使用underscore.js – 特别是’去抖’function。 但是,我在JS / jQuery方面相对缺乏经验,无法弄清楚如何实现它。 从下划线的文档: 去抖: _.debounce(function, wait, [immediate]) 创建并返回传递函数的新debounced版本,该函数将推迟执行,直到自上次调用之后经过等待毫秒。 用于实现仅在输入停止到达后才会发生的行为。 例如:呈现Markdown注释的预览,在窗口停止resize后重新计算布局,等等。 对于立即参数传递true会导致去抖动以在前导而不是等待间隔的后沿触发函数。 在防止第二次触发“提交”按钮时意外双击的情况下非常有用。 var lazyLayout = _.debounce(calculateLayout, 300); $(window).resize(lazyLayout); 这是我用来初始化flexslider的代码: // MOUSEWHEEL FIX: function debounceEffect() { // apply debounce to mousewheel here } // Initialize FlexSlider $(window).load(function() { $(‘div.flexslider’).flexslider({ animation:’slide’, controlNav:true, mousewheel:true, pauseOnHover:true, direction:’horizontal’, animationSpeed:500, slideshowSpeed:5000, […]