0

基本上,当我希望它向右滑动时,我的代码使该图像向上滑动。它出什么问题了?

HTML

<div id="wrapper">
    <div id="header">
    </div>
</div>

JS

var scrollSpeed = 70;        // Speed in milliseconds
var step = 1;               // How many pixels to move per step
var current = 0;            // The current pixel row
var imageHeight = 4300;     // Background image height
var headerHeight = 300;     // How tall the header is.

//The pixel row where to start a new loop
var restartPosition = -(imageHeight - headerHeight);

function scrollBg(){

//Go to next pixel row.
current -= step;

//If at the end of the image, then go to the top.
if (current == restartPosition){
    current = 0;
}

//Set the CSS of the header.
$('#header').css("background-position","0 "+current+"px");


}

//Calls the scrolling function repeatedly
var init = setInterval("scrollBg()", scrollSpeed);

这是代码: http: //pastebin.com/9FpvSBxm

4

2 回答 2

1

您需要增加值

function scrollBg(){

    //Go to next pixel row.
    current += step; //increment instead of decrement

    //If at the end of the image, then go to the top.
    if (current == restartPosition){
        current = 0;
    }

    //Set the CSS of the header.
    $('#header').css("background-position",current +"px 0"); // parameters are right top not top right



}

演示:小提琴

于 2013-07-11T04:14:39.353 回答
0

更新:我想通了。

$('#header').css("background-position","0 "+current+"px");

我将 0 更改为 1 并修复它。现在这纯粹是运气,但为什么要解决它呢?

于 2013-07-11T04:23:49.190 回答