Javascript 无法使函数自动刷新
我无法使函数在设定的时间段内自动刷新 我有一个测试页面,我想在其中模拟一段时间内的自动刷新。假设我有4个图像,我希望它们在“点”自动刷新时随机显示 这就是我目前的情况:Javascript 无法使函数自动刷新,javascript,html,css,Javascript,Html,Css,我无法使函数在设定的时间段内自动刷新 我有一个测试页面,我想在其中模拟一段时间内的自动刷新。假设我有4个图像,我希望它们在“点”自动刷新时随机显示 这就是我目前的情况: var imageURL=[ "https://upload.wikimedia.org/wikipedia/commons/2/24/Ad-MediumRectangle-300x250.jpg", "http://orissadiary.com/wp-content/uploads/2017/03/advertise-h
var imageURL=[
"https://upload.wikimedia.org/wikipedia/commons/2/24/Ad-MediumRectangle-300x250.jpg",
"http://orissadiary.com/wp-content/uploads/2017/03/advertise-here-300x250.png",
"https://pics.me.me/medium-rectangle-300px-x-250px-18306117.png",
"https://travelfree.info/wp-content/uploads/2015/08/1454913661banner300.gif"
];
函数getImageTag(){
var img=“”;
返回img;
}
write(getImageTag());
setInterval('getImageTag()',3000);
去掉函数上的引号并添加“窗口”
<script type="text/javascript">
getImageTag();
window.setInterval(getImageTag, 3000);
</script>
getImageTag();
setInterval(getImageTag,3000);
此外,代码应该更像这样:
<html>
<head>
<script type="text/javascript">
var imageURLs = [
"https://upload.wikimedia.org/wikipedia/commons/2/24/Ad-MediumRectangle-300x250.jpg",
"http://orissadiary.com/wp-content/uploads/2017/03/advertise-here-300x250.png",
"https://pics.me.me/medium-rectangle-300px-x-250px-18306117.png",
"https://travelfree.info/wp-content/uploads/2015/08/1454913661banner300.gif"
];
function getImageTag() {
var img = '<img src=\"';
var randomIndex = Math.floor(Math.random() * imageURLs.length);
img += imageURLs[randomIndex];
img += '\" alt=\"Some alt text\"/>';
return img;
}
</script>
</head>
<body>
<div class="autorefresh">
<script type="text/javascript">
window.onload = function() {
document.write(getImageTag());
window.setInterval(getImageTag(), 3000);
};
</script>
</div>
</body>
</html>
var imageURL=[
"https://upload.wikimedia.org/wikipedia/commons/2/24/Ad-MediumRectangle-300x250.jpg",
"http://orissadiary.com/wp-content/uploads/2017/03/advertise-here-300x250.png",
"https://pics.me.me/medium-rectangle-300px-x-250px-18306117.png",
"https://travelfree.info/wp-content/uploads/2015/08/1454913661banner300.gif"
];
函数getImageTag(){
var img=“”;
返回img;
}
window.onload=函数(){
write(getImageTag());
setInterval(getImageTag(),3000);
};
去掉函数上的引号并添加“窗口”
<script type="text/javascript">
getImageTag();
window.setInterval(getImageTag, 3000);
</script>
getImageTag();
setInterval(getImageTag,3000);
此外,代码应该更像这样:
<html>
<head>
<script type="text/javascript">
var imageURLs = [
"https://upload.wikimedia.org/wikipedia/commons/2/24/Ad-MediumRectangle-300x250.jpg",
"http://orissadiary.com/wp-content/uploads/2017/03/advertise-here-300x250.png",
"https://pics.me.me/medium-rectangle-300px-x-250px-18306117.png",
"https://travelfree.info/wp-content/uploads/2015/08/1454913661banner300.gif"
];
function getImageTag() {
var img = '<img src=\"';
var randomIndex = Math.floor(Math.random() * imageURLs.length);
img += imageURLs[randomIndex];
img += '\" alt=\"Some alt text\"/>';
return img;
}
</script>
</head>
<body>
<div class="autorefresh">
<script type="text/javascript">
window.onload = function() {
document.write(getImageTag());
window.setInterval(getImageTag(), 3000);
};
</script>
</div>
</body>
</html>
var imageURL=[
"https://upload.wikimedia.org/wikipedia/commons/2/24/Ad-MediumRectangle-300x250.jpg",
"http://orissadiary.com/wp-content/uploads/2017/03/advertise-here-300x250.png",
"https://pics.me.me/medium-rectangle-300px-x-250px-18306117.png",
"https://travelfree.info/wp-content/uploads/2015/08/1454913661banner300.gif"
];
函数getImageTag(){
var img=“”;
返回img;
}
window.onload=函数(){
write(getImageTag());
setInterval(getImageTag(),3000);
};
以下是添加新添加的解决方案:
函数getRandomInt(最小值、最大值){
min=数学单元(min);
最大值=数学楼层(最大值);
返回Math.floor(Math.random()*(max-min+1))+min;
}
var imageURL=[
"https://upload.wikimedia.org/wikipedia/commons/2/24/Ad-MediumRectangle-300x250.jpg",
"http://orissadiary.com/wp-content/uploads/2017/03/advertise-here-300x250.png",
"https://pics.me.me/medium-rectangle-300px-x-250px-18306117.png",
"https://travelfree.info/wp-content/uploads/2015/08/1454913661banner300.gif"
];
函数getImageTag(){
var img=“”;
返回img;
}
函数更新(){
write(getImageTag());
}
设置间隔(更新,3000);
以下是添加新添加的解决方案:
函数getRandomInt(最小值、最大值){
min=数学单元(min);
最大值=数学楼层(最大值);
返回Math.floor(Math.random()*(max-min+1))+min;
}
var imageURL=[
"https://upload.wikimedia.org/wikipedia/commons/2/24/Ad-MediumRectangle-300x250.jpg",
"http://orissadiary.com/wp-content/uploads/2017/03/advertise-here-300x250.png",
"https://pics.me.me/medium-rectangle-300px-x-250px-18306117.png",
"https://travelfree.info/wp-content/uploads/2015/08/1454913661banner300.gif"
];
函数getImageTag(){
var img=“”;
返回img;
}
函数更新(){
write(getImageTag());
}
设置间隔(更新,3000);
这是不正确的:“window.setInterval(getImageTag(),3000);”只要尝试一下:函数getI(){console.log(“not work”)}window.setInterval(getI(),3000);因为()导致函数在那里执行,然后在声明计时器时执行,然后计时器在时间到期时尝试执行函数的结果。如果要传递对函数的引用,请删除()。另外,如果这需要无限重复(从问题中看起来很可能),那么使用一个间隔而不是timeout。您还忘了让getImageTag函数实际输出任何内容到页面中。在这里,我修复了它。这是不正确的:“window.setInterval(getImageTag(),3000);”只需尝试一下:函数getI(){console.log(“not work”)}setInterval(getI(),3000);因为()导致函数在那里执行,然后在声明计时器时执行,然后计时器在时间到期时尝试执行函数的结果。如果要传递对函数的引用,请删除()。如果需要重复此操作,请注意