我正在尝试集成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
});
});