Я работаю над сайтом, основанным на этом: http://inner.geek.nz/javascript/parallax/
Все хорошо, за исключением того, что я прыгаю вниз (в зависимости от того, какое значение px установлено в calcParallax (xx, x, posY))
на свитке. Это число должно быть там, где изображение заканчивается не там, где оно начинается - оно должно начинаться с scrollTop или 0. Не уверен, что я делаю неправильно, я в значительной степени взял дословную структуру из приведенной выше ссылки без объекта #cloud или соответствующего сценария .
Вот что у меня есть:
<script type="text/javascript">
function calcParallax(tileheight, speedratio, scrollposition) {
return ((tileheight) - (Math.floor(scrollposition / speedratio) % (tileheight+1)));
}
window.onload = function() {
window.onscroll = function() {
var posX = (document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : window.pageXOffset;
var posY = (document.documentElement.scrollTop) ? document.documentElement.scrollTop : window.pageYOffset;
var ground = document.getElementById('ground');
var groundparallax = calcParallax(53, 8, posY);
ground.style.backgroundPosition = "0 " + groundparallax + "px ";
document.getElementById('javascriptcode').onscroll = function() {
var posX = (this.scrollLeft) ? this.scrollLeft : this.pageXOffset;
var j = calcParallax(53, 16, posX);
console.log('scroll js: '+ j);
document.getElementById('javascriptcode').style.backgroundPosition = j + "px 0";
}
}
</script>
Любая помощь будет высоко ценится
Rob