Javascript:使用setInterval创建和移动窗口

Javascript:使用setInterval创建和移动窗口,javascript,object,browser,model,Javascript,Object,Browser,Model,我想创建一个新窗口,并使用setInterval自动将此窗口移动到新位置。 我尝试了这段代码,但似乎只执行了setInterval中定义的函数一次 <!doctype html> <html> <head> <title> BOM </title> </head> <body> <script type="text/javascript"> var newWin = window.open(); va

我想创建一个新窗口,并使用setInterval自动将此窗口移动到新位置。 我尝试了这段代码,但似乎只执行了setInterval中定义的函数一次

<!doctype html>
<html>
<head>
<title> BOM </title>
</head>
<body>
<script type="text/javascript">
var newWin = window.open();
var xcor=0;
var ycor=0;

newWin.resizeTo(500,500);
newWin.document.write("<p>This a new window. I am 500px wide and 500px tall!</p> \n");
setInterval(move(newWin, xcor+=30,ycor+=30),1000);

function move(item,x,y) {
item.moveTo(x,y);
}

</script>
</body>
</html>
有什么建议吗

根据teemu的评论,我对代码做了以下更改

<!doctype html>
<html>
<head>
<title> BOM </title>
</head>
<body>
<script type="text/javascript">
var newWin = window.open();
var x=0;

newWin.resizeTo(500,500);
newWin.document.write("<p>This a new window. I am 500px wide and 500px tall!</p> \n");
setInterval(move(),1000);

function move() {
alert(x+=30);
}

</script>
</body>
</html>

同样,函数move只是一个警报,实际上只执行一次?还有其他注释吗?

首先,项不是好的变量名,不要使用它。它在IE中是受保护的方法名。其次,通常浏览器设置会阻止脚本移动或调整窗口大小,因此除非用户允许,否则代码将无法工作。第三,在setInterval参数中需要函数引用,而不是函数调用。注意,这也需要一些参数。move仍然是一个函数调用,它会立即执行,并且setInterval会将move的返回值设置为未定义的第一个参数。move将作为参考。谢谢!我用移动代替了移动,一切正常。即使是真正移动窗口的原件!!!您可以在浏览器中看到移动的窗口,但不能依赖于在任何用户的浏览器中都会发生这种情况。