Javascript 单个div的视差效果调整
我创建了一个视差效果,如下所述: 这个方法很有效,但我有一个问题。我的页面基本上由交替的div组成。带文本的白色div和带图片的div,它们随视差效果移动。这非常有效,除非我必须手动调整每个图片分区的位置。以下是标题中的代码:Javascript 单个div的视差效果调整,javascript,jquery,html,css,parallax,Javascript,Jquery,Html,Css,Parallax,我创建了一个视差效果,如下所述: 这个方法很有效,但我有一个问题。我的页面基本上由交替的div组成。带文本的白色div和带图片的div,它们随视差效果移动。这非常有效,除非我必须手动调整每个图片分区的位置。以下是标题中的代码: <script type="text/javascript"> $(window).scroll(function () { parallax(); }); function parallax() {
<script type="text/javascript">
$(window).scroll(function () {
parallax();
});
function parallax() {
var ev = {
scrollTop: document.body.scrollTop || document.documentElement.scrollTop
};
ev.ratioScrolled = ev.scrollTop / (document.body.scrollHeight - document.documentElement.clientHeight);
render(ev);
}
function render(ev) {
var t = ev.scrollTop;
var y = Math.round(t * 2/3) - 100;
$('#ff-section01').css('background-position', 'center ' + y + 'px');
$('#ff-section03').css('background-position', 'center ' + (y - 1000) + 'px');
$('#ff-section05').css('background-position', 'center ' + (y - 1700) + 'px');
$('#ff-section07').css('background-position', 'center ' + (y - 2750) + 'px');
}
</script>
也很简单。我能做什么,使计算不依赖于页面高度?我基本上不想从背景位置减去一个表面的数字,这样视差效果就可以工作,而不依赖于网站上的位置
非常感谢!
塞巴斯蒂安
<div class="ff-section03" id="ff-section03"></div>
.ff-section03 {
width: 100%; height: 550px;
position: relative;
background: url('system/urbansolutions.jpg') center -300px no-repeat;
}