2015-08-09 201 views
0

尽管我努力从一堆png文件中制作出高质量的gif动画,但我仍然收到错误...我已经得到了很多像“document.getElementById不是函数”的东西,并且“Uncaught TypeError:无法设置属性'src'为null”。我决定在这里问我做错了什么。这是一个古老的代码,我发现的地方,我一直在尝试使用:使用JavaScript制作一堆png文件的gif动画效果?

<script> 

var min = 1; 
var max = 12; 
var current = min; 

var keep_switching_icon = true; 

function rotateIcon() { 
    if (keep_switching_icon) { 
    var nyanframe = document.getElementById('nyan') 
    nyanframe.src = ({path:"nyan" + current + ".png"}); 
    console.log(current); 
    if (current++ > max) { 
     current = min; 
    }; 

    window.setTimeout(rotateIcon, 300); 
    } 
} 

rotateIcon(); 

</script> 

<body> 

<img src="nyan1.png" id="nyan"></img> 

</body> 
+2

什么是预期的结果代nyanframe.src = "nyan" + current + ".png";: “nyan”+ current +“.png”});'? – guest271314

+0

谢谢,现在图像正在更新,但它不会更改为目录中的图像...我有名为nyan1.png,nyan2.png,..... nyan12.png的图像。检查元素说图像是'[object Object]'... – Mashpoe

+0

我希望它从nyan1.png更改为nyan2.png,直到它到达nyan12.png,然后我希望它重新开始... – Mashpoe

回答

1

尝试使用`nyanframe.src =({路径nyanframe.src = ({path:"nyan" + current + ".png"});

var min = 1; 
var max = 12; 
var current = min; 

var keep_switching_icon = true; 

function rotateIcon() { 
    if (keep_switching_icon) { 
    var nyanframe = document.getElementById('nyan'); 
    nyanframe.src = "nyan" + current + ".png"; 
    console.log(current); 
    if (current++ > max) { 
     current = min; 
    }; 

    window.setTimeout(rotateIcon, 300); 
    } 
} 

window.onload = rotateIcon; 
+0

'eventListener'不是'window.onload = rotateIcon;'的更好选择吗? –