如何使用scrollTop()更改[filter:blur]值?

问题描述:

我看到了媒体滚动效果的codepen,但它不完全是我要找的,因为它不能正确模糊图像 - 它只会改变不透明度。如何使用scrollTop()更改[filter:blur]值?

所以我有一个div:

img.blur { 
width: 100vw; 
min-width: 800px; 
filter: blur(20px); 
} 

如何使用jQuery的scrollTop的()函数来配置它,这样我向下滚动页面过滤器:模糊会减少或增加?

的一个从codepen是:

$(window).scroll(function() { 
    opacityVal = (s/150.0); 
    $('.blurred-img').css('opacity', opacityVal); 
}); 

所以我想我会受到影响CSS DIV改变$('img.blur'),但我不知道是什么改变opacityopacityVal来。

谢谢!


编辑:我想是在这里这样的效果:

http://jsfiddle.net/byrichardpowell/38MGS/1/

除了当我滚动。

我基本上想做一些类似于他们在FFMark.com第一部分所做的事情。

+0

使JSFiddle更多的理解 – prog1011 2014-11-05 10:53:32

你只需要设置一个100%的高度上你完全模糊的图像将显示

var MAXSCROLLHEIGHT = 150; // on MAXSCROLLHEIGHT pixel scroll height, the blurred image will be shown on 100% opacity 
$(window).scroll(function() { 
    opacityVal = $(window).scrollTop()/MAXSCROLLHEIGHT; // replaced the fix value by possible config variable 
    if(opacityVal > 1) return; // won't affect the image as you keep scrolling 
    $('img.blur').css('opacity', opacityVal); 
}); 

我觉得跟opacityVal的检查,你会提高性能一点,因为你不会影响元素你继续滚动超出你的MAXSCROLLHEIGHT

+0

这不是问题。我已经得到opacityVal工作。我不想减少滚动时的不透明度,我想更改滚动条上的滤镜:模糊半径。 – 2014-11-05 11:07:23