我试图在页面的一部分内部设置视差效果div,麻烦的是我难以定位,所以它只显示在父级部分(下面的代码中的id'foo')。我怎样才能做到这一点?隐藏其他div下的固定定位div(视差)
HTML
<section>
<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.</p>
</section>
<article id="foo">
<div id="parallax"></div>
</article>
<section>
<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis eleifend option congue nihil imperdiet doming id quod mazim placerat facer possim assum.</p>
</section>
CSS
#parallax {
background: url('http://lorempixel.com/output/cats-q-c-220-129-8.jpg') transparent no-repeat;
width:100%;
height:200px;
z-index: 20;
right: -73%;
position: fixed;
}
article {
height: 200px;
background-color: aliceblue;
}
section {
background-color: black;
color: white;
padding: 1%;
}
JS
$(window).scroll(function(){
function parallax(){
if($(window).scrollTop() < $('#foo').offset().top){
var parallaxLayer = document.getElementById('parallax');
parallaxLayer.style.top = ((window.pageYOffset/4) - 400)+'px';
}else{
}
}
window.addEventListener("scroll", parallax, false);
});
http://codepen.io/anon/pen/Ksahn
不完全。我希望div具有那个位置(div覆盖和低于重叠),但我希望它以与窗口不同的速度滚动(视差效果)。 – user4027756 2014-09-10 17:06:03