1

我身体背景的 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'});
    }

});

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

4

1 回答 1

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'

于 2012-06-17T17:06:42.407 回答