jQuery视差效应问题

时间:2012-06-17 16:55:48

标签: javascript jquery parallax

我的身体背景有jQuery视差效果问题。这是代码:

jQuery(document).ready(function($){
    window.onscroll = function() {
        var bh = $(document.body).height();
        var wh = $(window).height();
        var st = $(window).scrollTop();
        var p = wh / bh;
        var pp = (st * p);
        $('body').css({backgroundPosition: '50% -'+pp+'px'});
    }

});

这段代码很棒,但是在我添加带有徽标和导航菜单的I标题之后,它们关闭了部分背景,所以现在看起来并不好看。这里也是链接http://layot.prestatrend.com/我的标题的高度顺便是129px。似乎我需要制作背景位置+ 129px,但无法弄清楚如何使其与javascript正常工作。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

只需添加:

var topPosition = pp + 129;
$('body').css({backgroundPosition: '50% -'+topPosition +'px'});

(或)

 $('body').css({backgroundPosition: '50% -'+ (pp + 129) +'px'}); // the parentesis avoid concatenation also

这样你就可以正确添加你想要的偏移量。不要在字符串连接中执行此操作,因为浏览器可能会附加==>这会导致类似:for pp=99 ==> pp+129 = '99129'