正在尝试将jquery鼠标滚轮插件插入到jquery循环2中



我正在尝试集成jquery鼠标滚轮插件(https://github.com/jquery/jquery-mousewheel)使用插件-jquery cycle2插件。

一切都很好,直到我发现鼠标滚动会触发很多滚动事件,尤其是新的"神奇"触控板和鼠标会在轮子上产生很大的惯性。

在GitHub上我发现了一个插件(https://github.com/amondit/jquery.scrollsteps.js)专门为这个插件设计来处理这个问题。

我使用了jquery.scrollsteps-full-min.js.文件

这就是我对插件的称呼:

$(function() {
    var $slider = $('.slider_overlay');
    // slider initialize
    $slider.cycle({
        fx: 'scrollVert',
        timeout: 0,
        pager: '.slider_list',
        pagerTemplate: '',
        pagerActiveClass: 'active_slide',
        slides: '> div',
        centerHorz: true,
        centerVert: true,
        speed: 1000
    });
    // initialize scrollsteps plugin
    $slider.scrollsteps({
        up: $slider.cycle('prev'),
        down: $slider.cycle('next')
    });
});

当我开始上下滚动页面时,我从firebug控制台收到以下错误消息:

"类型错误:i.down不是函数"或"TypeError:i.up不是函数

也许有人有任何想法或想法,为什么会出现这种错误?

如果我使用默认的鼠标滚轮init(没有scrollsteps插件),一切都很好:

$slider.mousewheel(function(e) {
    if (e.deltaY > 0) {
        $slider.cycle('prev');
    } else {
        $slider.cycle('next');
    }
});

但正如我提到的,它会触发很多滚动事件。

也许我解决这个问题不对?如果有人知道其他解决方案,我们将非常感谢您的帮助。

Аnswer)

$(function() {
    var $slider = $('.slider_overlay');
    $slider.cycle({
        fx: 'scrollVert',
        timeout: 0,
        pager: '.slider_list'
        pagerTemplate: '',
        pagerActiveClass: 'active_slide',
        slides: '> div',
        centerHorz: true,
        centerVert: true,
        speed: 1000
    });
    function prev() {
        $slider.cycle('prev')
    }
    function next() {
        $slider.cycle('next')
    }
    $slider.scrollsteps({
        up: prev,
        down: next
    });
});

最新更新