所以基本上我想每5秒更换一次图像,所以我写了下面的Javascript代码并将其标记为html。但控制台一直说“此页面上没有javaScript”,代码不适用
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>JavaScript for Programmers</title>
</head>
<body>
<h2>Mood Change</h2>
<p>The mood of this web page changes every 5 seconds.</p>
<p><img id="mood" src="frown.gif" alt="mood"></p>
<script async src="../scripts/moody.js"></scripts>
</body>
</html>
var images=[]
images[0]="smile.gif";
images[1]="frown.gif";
var myMood= document.getElementById("mood");
function change(){
if(myMood==images[0]){
myMood.src=images[1];
}
else if(myMood.src==imgaes[1]){
myMood.src=images[0];
}
}
setInterval(change,5000);
答案 0 :(得分:2)
</scripts>
应为</script>
此外,您的JS可能如下所示:http://jsbin.com/nawono/2/edit
var myMood= document.getElementById("mood");
var images=[
"smile.gif",
"frown.gif"
];
function change(){
myMood.src= images.reverse()[0];
}
setInterval(change,5000);
啊,为了解释images.reverse()[0];
,它会反转数组顺序,我们总是取出0
索引键。非常好
答案 1 :(得分:0)
您的代码不起作用的原因是您的比较是适当的。你在哪里:
var images=[]
images[0]="smile.gif";
images[1]="frown.gif";
var myMood= document.getElementById("mood");
function change(){
if (myMood == images[0]) {
然后 myMood 是一个DOM元素, images [0] 是一个字符串。这两个永远不会相等(除非DOM元素的 toString 方法产生完全相同的字符串)。
你可能意味着:
if (myMood.src == images[0]) {
以便比较两个更可能相同的字符串。