Вы можете размыть элемент относительно, как далеко вы прокручиваетесь.
$(window).scroll(function(e) {
var distanceScrolled = $(this).scrollTop();
$('.element').css('-webkit-filter', 'blur('+distanceScrolled/60+'px)');
});
Здесь я использую scrollTop()
, чтобы получить количество пикселей окно имеет прокручивается, а затем я поставил пятно на элемент к этому числу, деленное на 60, что просто произвольное число, которое я выбрал, чтобы получить я хотел.
Если вы хотите добавить размытие в определенный момент, вы можете использовать элемент на DOM и проверить его положение относительно окна.
$(window).scroll(function(e) {
var elOffset = $('.element').scrollTop() - $(window).scrollTop();
if(elOffset < 450) {
$(this).addClass('blur');
}
});
Если .element
меньше, чем 450px от верхней части окна, класс blur
будет добавлен к нему. Ваш класс размытия будет выглядеть примерно так:
.blur {
-webkit-filter: blur(4px);
}
Возможно, вы захотите использовать переход с ним. Не забывайте о префиксах поставщика.
Итак, вы хотите сделать то же самое, что и указанная ссылка? Покажите, что вы делаете до сих пор. – Khamidulla
http://codepen.io/jiserra/pen/JzKpx –
@antindexer вот пример размытия изображения. http://demosthenes.info/blog/534/Crossbrowser-Image-Blur – user1328229