使用jQuery计算视差滚动的图像大小和位置

时间:2016-04-28 23:36:21

标签: javascript jquery position size parallax

我被困住了,这已经让我发疯了!我需要你的帮助来进行一些视差滚动计算。

the working demo 中,容器内的图像移动速度比容器的速度慢-0.5。

现在我需要图像比容器移动得更快,值为+0.5。但它不起作用!我尝试了很多可能性,但我想我不是数学专家。 - 在屏幕中间,所有应该居中!

那么当图像在容器内移动得更快时,如何获得正确的图像位置?

DEMO!

中的完整代码

提取物:

var $cont = $(this),
    contOffsetTop   = $cont.offset().top,
    img             = $cont.find(parallaxBackground),
    speed           = img.attr("data-parallax-speed"),
    contHeight      = $cont.height(),
    imgHeight       = (windowHeight * Math.abs(speed)) + contHeight,
    imgOffset       = imgHeight - contHeight;

var scrollDist      = windowHeight - contOffsetTop - contHeight / 2,
    posY            = scrollDist * -speed - imgOffset;

img.css({
    '-webkit-transform': 'translate3d(-50%, ' + posY + 'px, 0)',
            'transform': 'translate3d(-50%, ' + posY + 'px, 0)',
                  'top': '0'
});

Pleeease - 并提前感谢!

0 个答案:

没有答案