0

在下面的代码中,我想将delta参数传递给被调用的函数fadeOut,而不必在这些函数的范围之外设置变量。可能吗?

$(window).bind('mousewheel', function(event, delta, deltaX, deltaY) {
    $('#view img').fadeOut('slow', function() {
        $('.view-loading').fadeIn('fast');
        showcase.rotate(delta);
    });
});
4

2 回答 2

2

我无法真正弄清楚与 jQuery 的交易是什么mousewheel(已经很晚了,我累了),但是使用 jQuery 1.9.1,我可以deltaoriginalEvent事件对象的属性中获取一个(在你的内部范​​围内)功能。(小提琴)。

$(window).bind('mousewheel', function(event) {
    $('#view img').fadeOut('slow', function() {
        $('.view-loading').fadeIn('fast');
        showcase.rotate(event.originalEvent.deltaY);
    });
});
于 2013-10-08T23:54:17.123 回答
1

您必须使用 jQuery“鼠标滚轮”事件手动定义增量

$(window).bind('mousewheel', function(event) {
    event = event.originalEvent;
    var delta = event.wheelDelta;
    $("#view img").fadeOut('slow', function() {
        $('.view-loading').fadeIn('fast');
        showcase.rotate(delta);
        showcase.fillRect(100, 10, 150, 100);
    });
});
于 2013-10-09T03:27:36.507 回答