Javascript 具有动画间隔的图像
我将使用if-else为每个图像创建一个具有一定间隔的动画,但它不起作用,它让我感到困惑,请任何人告诉我我的代码有什么问题。这是我的密码:Javascript 具有动画间隔的图像,javascript,jquery,html,Javascript,Jquery,Html,我将使用if-else为每个图像创建一个具有一定间隔的动画,但它不起作用,它让我感到困惑,请任何人告诉我我的代码有什么问题。这是我的密码: var j=setInterval(james,5); 函数james(){ var pos=1; 如果(位置>=6){ 净间隔(j); document.getElementsByTagName('img')[0].setAttribute('src','https://www.ptcrush.com/“+pos+.gif”); }否则{ var pos
var j=setInterval(james,5);
函数james(){
var pos=1;
如果(位置>=6){
净间隔(j);
document.getElementsByTagName('img')[0].setAttribute('src','https://www.ptcrush.com/“+pos+.gif”);
}否则{
var pos+=1;
document.getElementsByTagName('img')[0].setAttribute('src','https://www.ptcrush.com/“+pos+.gif”);
}
}
光环
从行中删除var
:
var pos += 1;
同时将变量初始化移到函数外部:
var pos = 1;
function james() {
...
您需要将变量
pos
置于函数外部,并且需要增加超时时间,因为在加载新图像时,计时器将加载新图像
var pos=1;
var j=设定间隔(james,4000);
函数james(){
如果(位置>=6){
净间隔(j);
文件
.getElementsByTagName('img')[0]
.setAttribute('src','https://www.ptcrush.com/“+pos+.gif”);
}否则{
pos+=1;
文件
.getElementsByTagName('img')[0]
.setAttribute('src','https://www.ptcrush.com/“+pos+.gif”);
}
控制台日志('pos',pos);
}
这是一个工作示例中的代码
以下是我改进的几点建议:
pos
移出函数,因为每次调用该函数时,它都将重置为1var
、let
或const
setInterval(james,3000)
否则动画将运行得太快。调整你认为合适var j=setInterval(詹姆斯,3000);
var pos=1;
函数james(){
如果(位置>=6){
pos=1;
document.getElementsByTagName('img')[0].setAttribute('src','https://www.ptcrush.com/“+pos+.gif”);
}否则{
pos+=1;
document.getElementsByTagName('img')[0].setAttribute('src','https://www.ptcrush.com/“+pos+.gif”);
}
}
您好
您应该将pos
的初始化移到功能之外。每次调用函数时都将其重置为1
,因此它永远不会=6