javascript - 窗口移动功能
问题描述
我正在尝试在设置的计时器上将窗口移动特定数量的像素。现在我让我的 startWindow 函数(它包含移动窗口函数)持有一个应该每 0.35 秒移动一次窗口的计时器。但由于某种原因,我无法弄清楚它不起作用。顺便说一句,这是一个家庭作业,所以如果可能的话,请不要给我完整的答案,只是建议。这是我遇到问题的代码:
<head>
<script>
var aWindow;
var current = 0;
function openWindow() {
aWindow = window.open("", "", "width=400, height = 200");
aWindow.document.write("This is my new Window");
}
function closeWindow(){
if(aWindow) {
aWindow.close();
}
}
var moveWindow = function windowMove() {
if (aWindow) {
aWindow.moveTo(100, 0);
aWindow.moveTo(200, 0);
aWindow.moveTo(300, 0);
aWindow.moveTo(400, 0);
aWindow.moveTo(500, 0);
aWindow.moveTo(600, 0);
aWindow.moveTo(700, 0);
aWindow.moveTo(800, 0);
aWindow.moveTo(900, 0);
aWindow.moveTo(1000, 0);
aWindow.moveTo(1000, 100);
aWindow.moveTo(1000, 200);
aWindow.moveTo(1000, 300);
aWindow.moveTo(1000, 400);
aWindow.moveTo(1000, 500);
aWindow.moveTo(1000, 600);
aWindow.moveTo(1000, 700);
aWindow.moveTo(1000, 800);
aWindow.moveTo(1000, 900);
aWindow.moveTo(1000, 1000);
aWindow.moveTo(900, 1000);
aWindow.moveTo(800, 1000);
aWindow.moveTo(700, 1000);
aWindow.moveTo(600, 1000);
aWindow.moveTo(500, 1000);
aWindow.moveTo(400, 1000);
aWindow.moveTo(300, 1000);
aWindow.moveTo(200, 1000);
aWindow.moveTo(100, 1000);
aWindow.moveTo(0, 1000);
aWindow.moveTo(0, 900);
aWindow.moveTo(0, 800);
aWindow.moveTo(0, 700);
aWindow.moveTo(0, 600);
aWindow.moveTo(0, 500);
aWindow.moveTo(0, 400);
aWindow.moveTo(0, 300);
aWindow.moveTo(0, 200);
aWindow.moveTo(0, 100);
aWindow.moveTo(0, 0);
}
function startWindow(){
if (timer){
timer = setInterval(moveWindow(), 350);
}
}
function stopWindow() {
clearInterval(timer);
}
}
</script>
</head>
</script>
</head>
<body>
<button onclick="openWindow();">Open</button>
<button onclick="closeWindow();">Close</button>
<button onclick="startWindow();">Move</button>
<button onclick="stopWindow();">Stop</button>
</body>
</html>
解决方案
好的,这里有一些建议:
为了在函数调用之间创建时间延迟,您可以使用await或者您可以使用setInterval或setTimeout。
在链接中,您可以找到基本示例,以便您了解每个示例的工作原理,但我猜这await
将解决您的问题。
如果您想坚持该setInterval
方法,您可以使用您的值创建一个数组并调用一个更新函数,该函数将增加索引并调用数组上的每个值。
我真的建议使用eventListeners而不是内联事件。
推荐阅读
- php - 如何根据 parent_id 在回复评论中显示评论正文
- nginx - 在 nginx 服务器上安装 Let's Encrypt 时出错
- spring-boot - 在 WebFlux for Mono 中使用 onErrorMap 映射错误
- postgresql - Postgresql忽略触发器上的“何时”条件
- javascript - 通过添加的文件附件获得“mailto:”效果
- css - 使用角度材料在 sidenav 中添加标题
- css - 在我仔细放大之前,我的 CSS 工作正常。谁能明白为什么?
- c - 做while不循环?
- ios - 在表格视图上显示名称
- dynamic - power bi:基于数据的动态 y 尺度值