我正在尝试使用这个 jQuery MouseWheel插件以及这个Canvas Image Blur插件,以便使用鼠标滚轮使全屏图像模糊或重新聚焦(无需实际滚动页面)。
我已经玩了几个小时了,但我的运气为零。我目前拥有的代码是:
$(document).mousewheel(function(event, delta) {
var o = 70;
if (delta > 0)
o = o+1;
else if (delta < 0)
o = o-1;
if( o != '' )
log( o );
return false; // prevent default
});
function log(blurRadius) {
stackBlurImage( 'photosrc', 'canvas', blurRadius, false );
};
我希望图像以模糊设置为 70 开始。但此代码目前仅根据滚动情况将其更改为 69 或 71,因为它仅检查向上或向下滚动。我想要它做的是将每个单独的滚动输出到变量 - 类似于 slider 上方的 Canvas 图像模糊示例中动态调整模糊的方式。
如果有人能指出我正确的方向,我将不胜感激!
最佳答案
您只需将变量声明 (var o = 70
) 移至函数外部即可。
如果在鼠标滚轮的事件处理程序中声明该变量,则每次事件发生时都会重置该变量。如果您在外部声明它,则它将在页面加载后声明,然后在每个事件上更改为 +1 或 -1。
您还可以将 o = o + 1;
更改为 o++;
以使代码更简单。
实际示例:http://jsfiddle.net/mKtvQ/2/
(注意:我没有包含模糊代码,因为您没有包含在 OP 中。)
关于jquery - 计算每个鼠标滚轮滚动并输出到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15821676/