在滚动时使用 css 和 jQuery 创建模糊效果
Creating blur effect with css and jQuery on scroll
我正在尝试在用户使用 css 和 jquery 上下滚动浏览器 window 时创建模糊效果。这是我的代码。
HTML
<div class="out">
<div class="inner"></div>
</div>
<div class="this-div-kills-browsers">
</div>
CSS
.out {
width: 100%;
height: 800px;
background: url(https://placekitten.com/1200/800) no-repeat;
}
.this-div-kills-browsers {
height: 1000px;
}
jQuery
var hideThatKitty = $('.out').innerHeight();
$(window).on('scroll', function () {
hideThatKitty = hideThatKitty/$('.this-div-kills-browsers').offset().top
$('.inner').css('background', rgba(255, 255, 255, \''0'+hideThatKitty\'));
});
我想做的是在用户上下滚动时增加和减少 css 规则 background:rgba() 和 jquery 的 alpha 值,所以它会得到滚动模糊。或者还有另一种方法吗?请帮助我实现这一目标。
对于 "blur" 效果,尝试使用 css
filter
blur(Npx)
,其中 N
是一个数字; px
css
像素单位例如; 4px
var hideThatKitty = $('.out').innerHeight();
$(window).on('scroll', function () {
hideThatKitty = hideThatKitty / $('.this-div-kills-browsers').offset().top
$('.out')
.css({"webkit-filter": "blur(4px)",
"moz-filter":"blur(4px)",
"ms-filter":"blur(4px)",
"o-filter":"blur(4px)",
"filter":"blur(4px)"});
});
.out {
width: 100%;
height: 800px;
background: url(https://placekitten.com/1200/800) no-repeat;
}
.this-div-kills-browsers {
height: 1000px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div class="out">
<div class="inner"></div>
</div>
<div class="this-div-kills-browsers"></div>
jsfiddle https://jsfiddle.net/2dmxLnuy/5/
在模糊图像的同时滚动
演示
https://jsfiddle.net/vduucu87/
代码
$(window).on('scroll', function () {
var pixs = $(document).scrollTop()
pixs = pixs / 100;
$(".out").css({"-webkit-filter": "blur("+pixs+"px)","filter": "blur("+pixs+"px)" })
});
我正在尝试在用户使用 css 和 jquery 上下滚动浏览器 window 时创建模糊效果。这是我的代码。
HTML
<div class="out">
<div class="inner"></div>
</div>
<div class="this-div-kills-browsers">
</div>
CSS
.out {
width: 100%;
height: 800px;
background: url(https://placekitten.com/1200/800) no-repeat;
}
.this-div-kills-browsers {
height: 1000px;
}
jQuery
var hideThatKitty = $('.out').innerHeight();
$(window).on('scroll', function () {
hideThatKitty = hideThatKitty/$('.this-div-kills-browsers').offset().top
$('.inner').css('background', rgba(255, 255, 255, \''0'+hideThatKitty\'));
});
我想做的是在用户上下滚动时增加和减少 css 规则 background:rgba() 和 jquery 的 alpha 值,所以它会得到滚动模糊。或者还有另一种方法吗?请帮助我实现这一目标。
对于 "blur" 效果,尝试使用 css
filter
blur(Npx)
,其中 N
是一个数字; px
css
像素单位例如; 4px
var hideThatKitty = $('.out').innerHeight();
$(window).on('scroll', function () {
hideThatKitty = hideThatKitty / $('.this-div-kills-browsers').offset().top
$('.out')
.css({"webkit-filter": "blur(4px)",
"moz-filter":"blur(4px)",
"ms-filter":"blur(4px)",
"o-filter":"blur(4px)",
"filter":"blur(4px)"});
});
.out {
width: 100%;
height: 800px;
background: url(https://placekitten.com/1200/800) no-repeat;
}
.this-div-kills-browsers {
height: 1000px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div class="out">
<div class="inner"></div>
</div>
<div class="this-div-kills-browsers"></div>
jsfiddle https://jsfiddle.net/2dmxLnuy/5/
在模糊图像的同时滚动
演示
https://jsfiddle.net/vduucu87/
代码
$(window).on('scroll', function () {
var pixs = $(document).scrollTop()
pixs = pixs / 100;
$(".out").css({"-webkit-filter": "blur("+pixs+"px)","filter": "blur("+pixs+"px)" })
});