如何创建setInterval任务,在满足pageLoad=1时,停止任务?
时间: 2024-09-21 21:10:55 浏览: 35
php使用Swoole实现毫秒级定时任务的方法
在JavaScript中,你可以使用`setInterval`创建一个定时任务,然后结合`window.onload`事件和变量`pageLoad`来控制任务的启动和停止。当你希望在页面加载完成后再开始任务,并且在`pageLoad`变为非1时停止任务,可以这样做:
首先,在你的脚本文件里,定义一个`startTask`函数来运行你的定时任务,一个布尔类型的`isRunning`变量来跟踪任务是否正在运行:
```javascript
let isRunning = false;
let intervalId;
// 定义你的定时任务
function doSomething() {
// 这里是你需要的任务代码
console.log('Doing something every interval');
}
// 开始定时任务
function startTask() {
if (!isRunning && pageLoad === 1) {
isRunning = true;
intervalId = setInterval(doSomething, 1000); // 每隔1秒执行一次
}
}
```
接着,你需要在`window.onload`事件触发后调用`startTask`:
```javascript
window.onload = function() {
pageLoad = 1; // 假设这是检查页面加载完成的方式,这里假设它为1表示已完成加载
startTask();
};
```
最后,如果需要在某个时刻停止任务,只需将`isRunning`设置为`false`:
```javascript
function stopTask() {
if (isRunning) {
clearInterval(intervalId); // 停止定时任务
isRunning = false;
}
}
```
你可以根据实际情况添加`stopTask`的调用位置,例如用户点击某个按钮时。
阅读全文