我是Javascript的初学者。
每次调用c
时,为什么不会popup()
上升?
我使用document.write
来查看它是否会上升,但它会保持为1。
<script>
var c = 0;
window.onload=function()
{
var myVar = setInterval('popup()',2000);
c++;
document.write(c);
if(c>2)
{
clearInterval(myVar);
}
}
function popup()
{
alert('hallo');
}
</script>
在c> 2之后,间隔不会停止的代码。
<script>
var c = 0;
var myVar = null;
window.onload=function()
{
myVar = setInterval('popup()',2000);
}
function popup()
{
alert('hallo');
c++;
document.write(c);
if(c>2)
{
clearInterval(myVar);
}
}
</script>
答案 0 :(得分:1)
加载页面时,请调用setInterval。
因此,每两秒钟,您将调用弹出功能,即“hallo”。
然后,你增加你的变量等......
=&GT;要使c
变量递增,请在弹出函数中增加它。
编辑: 用更好的布局回答评论:
setInterval() returns an interval ID, which you can pass to clearInterval():
var refreshIntervalId = setInterval(fname, 10000);
/* later */
clearInterval(refreshIntervalId);
答案 1 :(得分:1)
你需要在你的函数中提高c:
function popup()
{
alert('hallo');
c++;
}
答案 2 :(得分:1)
在window.onload
,您正在调用setInternal
方法,您正在调用popup
函数。
因此,您需要在c
函数中增加并打印popup
。此外,还需要在clearInterval
函数中调用popup
。
<script>
var c = 0,
myVar;
window.onload = function () {
myVar = setInterval(popup, 2000);
}
function popup() {
//alert('hello');
c++;
document.write(c);
if (c > 2) {
clearInterval(myVar);
}
}
</script>
JSFiddle:http://jsfiddle.net/jaNjn/
答案 3 :(得分:0)
只有在页面加载时才会调用window.onload函数。您必须在弹出功能中增加支票c
var c = 0;
var myVar = null;
window.onload=function()
{
myVar = setInterval('popup()',2000);
}
function popup()
{
alert('hallo');
c++;
document.write(c);
if(c>2)
{
clearInterval(myVar);
}
}