根据页面长度模糊背景
Blur background based on page length
我正在尝试使以下情况:如果您向下滚动,会出现模糊的图片(不透明),如果您在页面底部,模糊的图片完全可见,而旧的图片消失了。我为每个页面使用相同的页面容器,我想让这个脚本在每个页面上都这样做,具有不同的页面长度。
到目前为止,我有这个:
.CSS:
.img-src {
position: fixed;
background-position: center;
-webkit-background-size: cover;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: -1;
}
.blurred-img {
opacity: 0;
}
.JS:
var divs = $('.social, .title'),
limit = 0;
$(window).on('scroll', function() {
var st = $(this).scrollTop();
if (st <= limit) {
$('.blurred-img').css({ 'opacity' : (1 - st/limit) });
}
});
filter: blur
通常工作正常,看起来更好。像这样的事情怎么样?
var img = document.getElementById("background-img");
var container = document.body;
var maxBlur = 20;
window.addEventListener("scroll", function(){
var position = container.scrollTop / (container.scrollHeight - window.innerHeight);
// Adjust the position for safari that may scroll higher or lower than the
// actual size during their "bounce effect".
position = Math.max(0, Math.min(1, position));
var blurAmount = position * maxBlur;
img.style["filter"] = "blur(" + blurAmount + "px)";
});
#background-img {
position: fixed;
}
#spacer {
width: 50px;
height: 2000px;
}
<img id="background-img" src="http://placehold.it/400x200?text=Background" />
<div id="spacer"></div>
如果你真的想做你的两个图像策略,这是我会怎么做的。
var img = document.getElementById("blured-background-img");
var container = document.body;
window.addEventListener("scroll", function(){
var opacity = container.scrollTop / (container.scrollHeight - window.innerHeight);
// Adjust the opacity for safari that may scroll higher or lower than the
// actual size during their "bounce effect".
opacity = Math.max(0, Math.min(1, opacity));
img.style["opacity"] = opacity;
});
#background-img {
position: fixed;
}
#blured-background-img {
position: fixed;
opacity: 0;
}
#spacer {
width: 50px;
height: 2000px;
}
<img id="background-img" src="http://placehold.it/400x200/7A6DFF/D3CFFF?text=Bottom" />
<img id="blured-background-img" src="http://placehold.it/400x200?text=Top" />
<div id="spacer"></div>
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 模糊事件的Javascript测试
- 在没有滤镜的情况下模糊背景
- 如何使用Javascript模糊背景图像
- 模糊的背景图像,而不是文本
- 在页面上自动切换模糊后,更改输入的背景颜色
- 鼠标移动时模糊和透明的圆形背景效果
- 根据滑块图像更改具有模糊效果的页面背景颜色
- 模糊按钮上的页面背景单击
- 模糊背景图像的特定部分
- 使用pixastic模糊图像,并使用jquery将其设置为背景
- 关于焦点偏离/模糊背景位置的输入
- 模糊背景- Jquery /纯CSS /图像
- 在页面加载后慢慢去除背景图像上的模糊
- 如何模糊背景图像悬停,但不是文本
- 如何使背景图像在页面打开/刷新时缓慢模糊?
- 使用ng模糊的输入验证(如果输入错误,请更改背景颜色)
- 根据页面长度模糊背景
- AngularJs的iOS应用-关于背景模糊的弹出屏幕的建议
- 页面/视图背景不模糊