0
我在JavaScript中編寫了下面的代碼,當按下按鈕時打開一個彈出窗口,然後使用setInterval每2秒移動一次窗口。使用setInterval在JavaScript中移動一個彈出窗口
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset = "utf-8">
<title> Javascriptin' Some Codes </title>
<script>
function hi() {
var printOut = window.open("http://www.google.com","_blank", 'height=200, width=200');
setInterval(function() { printOut.moveBy(10,10);}, 2000)
window.alert("hi");}
</script>
</head>
<body>
<button onclick="hi()"> Try me </button>
</body>
</html>
的窗口打開,但的setInterval不會出現與工作窗口在啓動後不動。我想知道爲什麼我的代碼不起作用,以及我能做些什麼來使它按照我喜歡的方式工作。
看到這個http://stackoverflow.com/questions/7678976/what-is-self-moveby-and-why-doesnt-it-work-on-chrome +'alert'對話框將阻止進一步的JS執行。 – marekful
@ Marcell - 當我在間隔中沒有它時,moveby在彈出窗口上工作。 – MYV
是的,那是因爲在這種情況下'moveBy'被執行_before_'alert'會阻止進一步的執行。如果它在'setInterval'中,那麼它第一次執行傳遞給'setInterval'的匿名函數中的代碼會被延遲2秒,但是到那時爲止會有警報塊。刪除'alert',如果'moveBy'沒有被瀏覽器禁用,它應該可以工作。 – marekful