javascript - 如何使用滚动模糊元素,直到它模糊到某个点?

标签 javascript jquery html css filter

如何在用户向下滚动页面时模糊图像,然后在到达blur(15px)时停止?我不希望图像变得如此模糊以至于占据整个屏幕。

这是我所拥有的:

HTML:

<img class="boop" src="images/boop.jpg" />

jQuery:

$(window).scroll(function(e) {
  var distanceScrolled = $(this).scrollTop();
  $('.boop').css('-webkit-filter', 'blur('+distanceScrolled/30+'px)');
});

我一直在谷歌搜索如何为 distanceScrolled 变量或 CSS 过滤器设置最大值,但似乎无法弄清楚。谢谢!

最佳答案

您可以在模糊函数中计算滚动量的最小值和 15。像这样:

$(window).scroll(function(e) {
  var distanceScrolled = $(this).scrollTop();
  $('.boop').css('-webkit-filter', 'blur(' + Math.min(distanceScrolled/30, 15) + 'px)');
});

然后它将在 15px 处停止。

关于javascript - 如何使用滚动模糊元素,直到它模糊到某个点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26136440/

相关文章:

javascript - 如何循环遍历列表并获取每个 href 值?

php - 找不到此 jQuery 代码中的错误

javascript - 尝试通过用户输入在 javaScript 中触发事件

html - GWT historyFrame 导致正文部分出现空白行

php - 在ckeditor上打开+编辑html文件

javascript - 如何在打字时以正确的大小渲染文本区域并自动扩展?

javascript - Grunt 从 typescript 源生成空文件

javascript - 如何在加载时在 chrome android 上保持媒体 session 通知

javascript - 使用 .preventDefault() 合并两个相似的函数 - javascript

javascript - 如何显示 Bitly API 调用的短 URL?