Javascript 计算函数被执行的次数

Javascript 计算函数被执行的次数,javascript,css,animation,Javascript,Css,Animation,我有一个以图片为背景的网站,我愿意让它从右向左移动 我不想使用jQuery,所以这里是我的代码,让它做这个动作 HTML代码 <div id="clouds_image"></div> var g = 0; var speed=80; var counter = 5; function rollClouds() { document.getElementById('clouds_image').style.backgroundPosition=g+'px 0'

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

HTML代码

<div id="clouds_image"></div>
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)

Javascript代码

<div id="clouds_image"></div>
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)
var g=0;
无功转速=80;
var计数器=5;
函数rollClouds()
{
document.getElementById('clouds_image').style.backgroundPosition=g+'px 0';
g--;
如果(计数器<1)
间隔时间;
}
间隔=设置间隔(函数(){rollClouds()},速度)
这将使图像从右向左移动,并重复其移动5次,从5到0倒计时,然后将
计数器<1
,因此它将执行
clearInterval(interval)
以停止它


但是我不知道为什么它不停地重复!因此,代码可能有错误,因此任何人都不知道如何使其在重复移动5次后停止谢谢

您似乎没有像代码所暗示的那样递减计数器:

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--;
}
函数rollClouds()
{
//减少计数器,否则它永远不小于1
document.getElementById('clouds_image').style.backgroundPosition=g+'px 0';
g--;
如果(计数器<1){
间隔时间;
}
计数器--;
}

@charlietfl用于计算位置:
..=g+'px 0'
g表示移动速度的位置和速度,计数器的最大重复次数应该是。@asifsid88:是的,可能是,但它似乎解决了他的问题中的主要问题,所以我把它放在这里。对不起,我不明白!!请您重新编写代码~thankscounter是最大重复次数,然后可能的想法是将其与执行的函数rollClouds()的数量进行比较,但我是javascript新手,所以不知道如何制作或是否有其他方法。