将变量传递到jquery css后台位置

时间:2015-06-14 22:01:51

标签: jquery css

我正在尝试在滚动时为背景图像设置动画。除了实际的动画之外,一切似乎都在起作用。

$(window).scroll(function() {
backgroundPos = $('#home_logging_mining').css('backgroundPosition').split(' ');
x_pos = parseInt(backgroundPos[0]);
y_pos = parseInt(backgroundPos[1]);
pos = $(this).scrollTop();
if(pos>450) {
    //$('#scroll_logo').html(pos);
    pos2 = pos-450;
    if(pos2<=40) {
        new_x = x_pos + pos2;
        new_y = y_pos + pos2;
        $('#scroll_logo').html(new_y + ' ' + new_x);
        $('#home_logging_mining').css('background-position', new_x+'px'+new_y+'px');  
    }
}

});

我可以查看传递的变量,它们正是它们应该是的。我已经使用不同的背景实际整数而不是变量测试了元素,并且工作正常。但是,如果我将变量设置为整数,那么它也会停止工作。所以我怀疑我在某种程度上错误地将变量传递给css()函数。有什么东西显而易见吗?

1 个答案:

答案 0 :(得分:1)

你的新CSS值需要中间的空间;背景位置目前被设置为(例如)&#34; 5px10px&#34;而不是&#34; 5px 10px&#34;。

 $('#home_logging_mining').css('background-position', new_x+'px '+new_y+'px');