2012-06-17 47 views
1

我的身体背景存在jQuery视差效应问题。下面是代码: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。似乎我需要使背景位置+ 129px,但无法想出如何使它与JavaScript正常工作。请帮忙吗?

+0

如果您向我们提供了jsFiddle沙箱,那就太好了。 – madfriend

回答

0

只需添加位置:

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

(或)

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

这样你会正确地补偿你想添加。不要在字符串连接中执行它,因为浏览器可能会追加==>这将导致如下所示:对于pp=99 ==>pp+129 = '99129'