弹性滑块和鼠标轮速度

Flexslider and mousewhell speed

本文关键字:鼠标 速度      更新时间:2023-09-26

我想使用flexslider与鼠标滚轮这是我的例子

        $('#slider').flexslider({
            animation: "slide",
            mousewheel: true,
            direction: "vertical",
            slideshow: false
        });
http://jsfiddle.net/VC4L3/

它正在工作,但太快了。我在用魔法鼠标顺便说一下,我也在用触控板当我向下滚动时它移动了2,3个滑块。我需要每次向下滚动移动一张幻灯片。我该怎么做呢?

我找不到一个简单的解决方案,所以我已经改变了flexslider的源代码,一旦动画开始禁用滚动,这就是我所做的:

  1. 将鼠标滚轮的绑定更改为这样。

    slider.bind('mousewheel', function (event, delta, deltaX, deltaY) { 
    if (!slider.startedMouseWheel) {
        slider.startedMouseWheel = true;
        event.preventDefault();
        var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
        slider.flexAnimate(target, slider.vars.pauseOnAction);
    }
    

    });

  2. 查找函数后变量的调用

,并插入以下代码:

slider.startedMouseWheel = false;

to have

slider.startedMouseWheel = false;   
slider.vars.after(slider); //This is call of the vars after function

这样你将禁用触发鼠标滚动的新事件,直到动画完成。

尝试将animationSpeed添加到flexslider中。

演示:http://jsfiddle.net/lotusgodkk/VC4L3/1/

 $('#slider').flexslider({
            animation: "slide",
            mousewheel: true,
            direction: "vertical",
            slideshow: false,               
            animationSpeed: 4000,
        });