计算执行函数的次数

时间:2013-02-16 15:41:49

标签: javascript css animation

我的网站上有背景图片,我愿意让它从右向左移动 我不想使用jQuery所以这里是我的代码,它使它做了那个运动

HTML代码

<div id="clouds_image"></div>

Javascript代码

var g = 0;
var speed=80;
var counter = 5;
function rollClouds() 
{
    document.getElementById('clouds_image').style.backgroundPosition=g+'px 0';
    g--;
    if (counter < 1) 
        clearInterval(interval);
}

interval = setInterval( function(){ rollClouds() }, speed)

这应该使图像从右向左移动并重复移动5次并从5倒数到0然后counter < 1将执行clearInterval(interval)阻止它。

我不知道为什么它不停地重复!所以代码可能有错误所以任何想法如何使其在重复其运动5​​次后停止。 〜谢谢

1 个答案:

答案 0 :(得分:3)

您似乎没有递减计数器,因为您的代码暗示您要执行此操作:

counter--;

这是完整的功能:

function rollClouds() 
{
    // decrement (decrease) the counter otherwise it's never less than 1

    document.getElementById('clouds_image').style.backgroundPosition=g+'px 0';
    g--;
    if (counter < 1) {
        clearInterval(interval);
    }
    counter--;
}