我正在尝试使用此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,因为它只检查向上或向下滚动。我想要它做的是将每个滚动输出到变量 - 类似于画布图像中的滑块上方的模糊示例如何动态调整模糊。
如果有人能指出我正确的方向,那将非常感激!
答案 0 :(得分:1)
您只需将变量声明(var o = 70
)移动到函数外部即可。
如果变量是在鼠标滚轮的事件处理程序中声明的,则每次事件发生时都会重置该变量。如果您在外面声明它,它将在页面加载后声明,然后在每个事件上更改为+1或-1。
您还可以将o = o + 1;
更改为o++;
,以使您的代码更简单。
行动中的示例:http://jsfiddle.net/mKtvQ/2/
(注意:我没有包含模糊代码,因为你没有包含在OP中。)