Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript css精灵动画的设置间隔_Javascript_Css_Loops_Sprite_Setinterval - Fatal编程技术网

Javascript css精灵动画的设置间隔

Javascript css精灵动画的设置间隔,javascript,css,loops,sprite,setinterval,Javascript,Css,Loops,Sprite,Setinterval,我正在尝试使用下面的代码制作一个精灵的动画,但是在进入循环的下一次迭代之前没有等待大约1秒,动画似乎在大约1秒内从精灵中的第一个图像跳到最后一个图像。有人能告诉我如何修改代码,使其按照我的想法工作吗?谢谢 preview = setInterval(animation,1000); counter = 0; function animation() { while (counter < 81){ position = counter * 1.25;

我正在尝试使用下面的代码制作一个精灵的动画,但是在进入循环的下一次迭代之前没有等待大约1秒,动画似乎在大约1秒内从精灵中的第一个图像跳到最后一个图像。有人能告诉我如何修改代码,使其按照我的想法工作吗?谢谢

preview = setInterval(animation,1000);
counter = 0; 

function animation() {
    while (counter < 81){
        position = counter * 1.25;
        $('#ad_1').css({"background-position" : position + "% 0%"});
        counter ++;
    }
};

preview; 
preview=setInterval(动画,1000);
计数器=0;
函数动画(){
而(计数器<81){
位置=计数器*1.25;
$('ad#u 1').css({“背景位置”:位置+%0%”);
计数器++;
}
};
预览

您的while循环导致在第一次间隔调用中发生所有事情。 删除它,您将完全取决于时间间隔:

preview = setInterval(animation,1000);
counter = 0; 

function animation() {
        position = counter * 1.25;
        $('#ad_1').css({"background-position" : position + "% 0%"});
        counter ++;        
};

preview; 

实例:

var preview=setInterval(动画,100);
var计数器=0;
函数动画(){
位置=计数器*1.25;
$('ad#u 1').css({“背景位置”:位置+%0%”);
计数器++;
};
div{
高度:317px;
宽度:50px;
显示:内联块;
背景:url(https://pbs.twimg.com/profile_images/2186972673/super_mario.jpg);
}

您的while循环导致在第一次间隔调用中发生所有事情。 删除它,您将完全取决于时间间隔:

preview = setInterval(animation,1000);
counter = 0; 

function animation() {
        position = counter * 1.25;
        $('#ad_1').css({"background-position" : position + "% 0%"});
        counter ++;        
};

preview; 

实例:

var preview=setInterval(动画,100);
var计数器=0;
函数动画(){
位置=计数器*1.25;
$('ad#u 1').css({“背景位置”:位置+%0%”);
计数器++;
};
div{
高度:317px;
宽度:50px;
显示:内联块;
背景:url(https://pbs.twimg.com/profile_images/2186972673/super_mario.jpg);
}

取出循环的while部分

function animation() {
    if (counter < 81){
        position = counter * 1.25;
        $('#ad_1').css({"background-position" : position + "% 0%"});
        counter ++;
    } else {
         clearInterval(preview); /* this will stop the interval timer, since you won't need it after 80 repetitions. */
         preview = null;
    }
}
函数动画(){
如果(计数器<81){
位置=计数器*1.25;
$('ad#u 1').css({“背景位置”:位置+%0%”);
计数器++;
}否则{
clearInterval(预览);/*这将停止间隔计时器,因为重复80次后您将不需要它*/
预览=空;
}
}

取出循环的while部分

function animation() {
    if (counter < 81){
        position = counter * 1.25;
        $('#ad_1').css({"background-position" : position + "% 0%"});
        counter ++;
    } else {
         clearInterval(preview); /* this will stop the interval timer, since you won't need it after 80 repetitions. */
         preview = null;
    }
}
函数动画(){
如果(计数器<81){
位置=计数器*1.25;
$('ad#u 1').css({“背景位置”:位置+%0%”);
计数器++;
}否则{
clearInterval(预览);/*这将停止间隔计时器,因为重复80次后您将不需要它*/
预览=空;
}
}