注册 登录
发贴工具
查看: 82|回复: 0
打印 上一主题 下一主题

[24小时收录超级好的网站] 定时任务示例:使用 setInterval 和 clearInterval 实现多种功能

[复制链接]

2241

主题

2289

帖子

1万

积分

积分
13650
跳转到指定楼层
楼主


1. 倒计时功能

var countdownTime = 10;
var countdownInterval;

function updateCountdown() {
  if (countdownTime > 0) {
    console.log("剩余时间: " + countdownTime + "秒");
    countdownTime--;
  } else {
    clearInterval(countdownInterval);
    console.log("倒计时结束!");
  }
}


用法

  • 启动:startCountdown()
  • 停止:stopCountdown()

应用场景
游戏倒计时、会议提醒、考试计时、烹饪计时等。


2. 实时时钟显示

let myVar;

function myTimer() {
    const time = new Date().toLocaleTimeString();
    console.log("当前时间:" + time);
}

function myStopFunction() {
    clearInterval(myVar);
}

// 启动时钟
myVar = setInterval(myTimer, 1000);
// 停止时钟:myStopFunction()



扩展应用示例

1. 简单计数器

let counter = 0;
const intervalId = setInterval(() => {
    console.log("计数:" + counter);
    counter++;
    if (counter > 10) {
        clearInterval(intervalId);
        console.log("计数停止");
    }
}, 1000);


2. 随机数生成器

const intervalId = setInterval(() => {
    const num = Math.floor(Math.random() * 100);
    console.log("随机数:" + num);
    if (num > 90) {
        clearInterval(intervalId);
        console.log("触发停止条件");
    }
}, 1000);


3. 进度条模拟

let progress = 0;
const intervalId = setInterval(() => {
    console.log("进度:" + progress + "%");
    progress += 10;
    if (progress >= 100) {
        clearInterval(intervalId);
        console.log("进度完成!");
    }
}, 1000);


4. 倒计时简化版

let countdown = 10;
const intervalId = setInterval(() => {
    console.log("倒计时:" + countdown + "秒");
    countdown--;
    if (countdown < 0) {
        clearInterval(intervalId);
        console.log("倒计时结束!");
    }
}, 1000);


5. 循环输出数组

const arr = ["苹果", "香蕉", "橙子", "葡萄"];
let index = 0;
const intervalId = setInterval(() => {
    console.log("当前水果:" + arr[index]);
    index++;
    if (index >= arr.length) {
        clearInterval(intervalId);
        console.log("所有水果已输出");
    }
}, 1000);



结构说明

  1. 分级标题:使用基础功能示例扩展应用示例分类,便于快速定位场景
  2. 代码块统一:所有示例采用标准JavaScript语法,保留核心逻辑
  3. 关键注释:在倒计时示例中保留变量单位说明(// 单位:秒
  4. 场景提示:在基础功能中明确列出应用场景,增强实用性

可根据实际需求调整时间间隔、判断条件或输出内容。

/* 基础功能模块,官方交流711841924 */
// A. 倒计时模块
var countdownTime = 10;
var countdownInterval;

function updateCountdown() {
  if (countdownTime > 0) {
    printl("剩余时间: " + countdownTime + "秒");
    countdownTime--;
  } else {
    clearInterval(countdownInterval);
    printl("倒计时结束!");
  }
}

function startCountdown() {
  countdownInterval = setInterval(updateCountdown, 1000);
}

function stopCountdown() {
  clearInterval(countdownInterval);
  printl("倒计时已停止");
}

// B. 时钟模块
var timerId;

function myTimer() {
  var time = new Date();
  printl("当前时间: " + time.toLocaleTimeString());
}

function startClock() {
  timerId = setInterval(myTimer, 1000);
}

function stopClock() {
  clearInterval(timerId);
}

/* 实用案例 */
// 1. 简单计数器(1-10)
var counter = 1;
var counterInterval = setInterval(function() {
  printl("计数: " + counter);
  if (counter++ >= 10) clearInterval(counterInterval);
}, 1000);

// 2. 随机数生成器
var randomInterval = setInterval(function() {
  var num = Math.floor(Math.random() * 100);
  printl("随机数: " + num);
  if (num > 90) clearInterval(randomInterval);
}, 1000);

// 3. 进度条模拟
var progress = 0;
var progressInterval = setInterval(function() {
  printl("进度: " + progress + "%");
  if ((progress += 10) >= 100) {
    clearInterval(progressInterval);
    printl("进度完成!");
  }
}, 1000);

// 4. 增强版倒计时(带暂停恢复)
var timer = 10;
var timerInterval;

function startTimer() {
  if (!timerInterval) {
    timerInterval = setInterval(function() {
      printl("剩余: " + timer + "秒");
      if (timer-- <= 0) {
        clearInterval(timerInterval);
        printl("时间到!");
      }
    }, 1000);
  }
}

function pauseTimer() {
  clearInterval(timerInterval);
  timerInterval = null;
}

// 5. 数组遍历输出
var fruits = ["苹果", "香蕉", "橙子"];
var idx = 0;
var fruitInterval = setInterval(function() {
  printl(fruits[idx++]);
  if (idx >= fruits.length) {
    clearInterval(fruitInterval);
    printl("输出完成");
  }
}, 1000);

/* 新增ES5案例 */
// 6. 网络状态检测
var checkCount = 0;
var networkCheck = setInterval(function() {
  printl("检测网络状态...(" + (++checkCount) + ")");
  // 模拟网络恢复
  if (checkCount > 3) {
    clearInterval(networkCheck);
    printl("网络已连接!");
  }
}, 2000);

// 7. 自动保存功能
var saveInterval = setInterval(function() {
  printl("自动保存数据..." + new Date().toLocaleTimeString());
}, 5000);

// 8. 轮播图控制
var slides = ["图片1", "图片2", "图片3"];
var currentSlide = 0;
var slideShow = setInterval(function() {
  printl("显示: " + slides[currentSlide]);
  currentSlide = (currentSlide + 1) % slides.length;
}, 3000);

// 9. 定时提醒器
var reminders = ["喝水", "休息眼睛", "活动肩膀"];
var reminderIndex = 0;
var reminderInterval = setInterval(function() {
  printl("温馨提示: " + reminders[reminderIndex++]);
  if (reminderIndex >= reminders.length) reminderIndex = 0;
}, 60000);

// 10. 任务超时监控
var timeout = 5;
var timeoutCheck = setInterval(function() {
  if (timeout-- <= 0) {
    clearInterval(timeoutCheck);
    printl("任务执行超时!");
  }
}, 1000);

应用场景扩展:

  1. 表单自动保存(案例7)
  2. 轮播图自动切换(案例8)
  3. 健康提醒系统(案例9)
  4. 接口超时监控(案例10)
  5. 网络重连机制(案例6)
  6. 演示文稿自动播放(案例8修改)
  7. 操作步骤引导(案例5扩展)
  8. 游戏技能冷却时间(案例4修改)
  9. 考试时间提醒(案例4+9结合)
  10. 数据同步监控(案例10扩展)

每个示例都遵循以下ES5特性:

  1. 使用 var 声明变量
  2. 使用 function 关键字定义函数
  3. 使用传统函数表达式代替箭头函数
  4. 字符串拼接使用 + 运算符
  5. 使用传统数组遍历方式
  6. 基于原型的对象操作

可以通过调用对应函数(如 startTimer()/pauseTimer())或直接运行定时器来使用这些功能。所有定时器都支持通过 clearInterval() 提前终止。


untoAIWORK软件将数组↔互转字符串nextAIWROK软件原生Activity与H5页面交互实现及代码解析
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读了
    采集亚马逊正版群发工具有没有?
    Apr.20旅行X心语今天来说说YYPOST新功能的一个灵活用法,采集亚马逊商品信息,并且获得排名的软件,亚马逊现在越来越多客户做,淘宝的水是越来越清了,以前做电商的客户,现在都转战到外国,最赚钱的要数一些客户往亚马逊里堆了吧,拿我这个YYPOST的客户,最多的是采集,分析排名,刷价格,刷数量,改价,刷访问量等等技术

    企业发展B2B网站有什么东东软件可以发呢
    标题企业发展网B2B软件,现在虽然B2B网站收录不错,可愁的是心急的人们,他们太想一口吃撑胖子了,发帖宣传虽然不能像佛系那样淡定,但也不能像跑火车那般急躁对待,自己内容不收录,完全是自己操作内容问题,可以参考一下别人的内容是怎么弄的,然后自己要试着转变,而且收录这个内容,常常会变化的,不是一种规则就吃到老

    搜房天下房聊软件哪一个好呢
    本帖最后由 发帖软件 于 2019-5-22 16:15 编辑 2搜房天下群发房聊信息软件,开始本来打算做58同城的,但发一个就要一次点触验证码,这就让人没有感觉到存在的价值了吧,都是卖二手房和新房的搜房天下倒是可以发即时聊天信息,也没有发现他这个网站有啥子限制,登陆一个搜房天下账号,然后采集回来分类列表的网址,然后就一

    大家坛有没有好用的群发工具下载呢
    当你的笑容给我礼貌的招呼,大家坛全自动发帖软件,宣传推广是一场持久战,总是有一些人把软件用了一天,或是几个小时,就觉得自己付出太多了,那加进来的粉丝,或是流量,应该是和宣传多少成正比的,其实没有这么便宜的事,就像很多阅读量超过一百万的视频,或是电影,真正会在屏幕打赏的人不会超过三千,真正大额打赏给主

    群发正版软件中国塑料网
    中国塑料网群发软件YYPOST脚本下载地址,这个网站会有一个很奇怪的问题就是你在首页登陆无半个验证码,但在登陆网址登陆就会有一个验证码,所以我们灵活一些,在首页登陆就不用输入验证码了哈。网站秒收录比较高,但发的都是五金和建筑行业,先前有很多人都是发土建工程的大公司操作的,现在这个网站专为那个行业诞生的吧。

    OpenStreetMap网站正版2019年发帖工具下载
    本帖最后由 发帖软件 于 2019-5-21 11:13 编辑 OpenStreetMap网站全自动群发,OpenStreetMapOpenStreetMap(简称OSM,中文是公开地图)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。有的人编辑地图然后等收录,有的人发日志等收录,我们这里也是利用地图日志做为宣传的目标,简单的脚本理

    搜房天下全自动收短信全自动识别验证码注册账号软件
    房天下自动注册机,这个脚本是前几天发房聊的脚本廷伸品种,这个脚本能做到自动注册账号,自动保存账号,自动发房聊的效果,不过今天我们主要说一说怎么注册账号写脚本吧,这个搜房天天下的账号,可以发提问,可以发房聊,发论坛,发博客,还有发个人中心页都是有秒收的效果的,这样就省去了去买号,去乱花钱的效果了吧,而

    企业邮箱安卓端有什么APP软件可以发的呢
    请输入标题企业邮箱安卓发发送邮箱脚本,这个脚本是利用企业邮箱进行群发的,全程是一种模拟手工操作的过程,所以封号是很少的,而且企业邮箱群发到普通QQ邮箱不容易进垃圾箱中的,所以这个脚本也是这样的原理,不过最好是利用一些多开器,登陆多点的QQ邮箱账号会比较流畅一些,然后用软件一个一个的切换APP进行群发邮件会

    头条留评论软件有没有好用的呢?
    今天整一个今日头条留言软件,对于留言YYPOST是优势是比较大的存在,因为他往往专注一些下拉定位的优点,像今日头条这样,还是需要一些特殊下拉定位的,因为他新闻有长有短,有图有视频的,所以综合起来定位是比较难的,如果用POST也不是很轻松可以破解他的加密参数。这个脚本也是有一个不好的地方就是换号会比较麻烦,您电

    单网页生成神器
    最近新技术,网页生成机占领了整个网络的半壁江山,效果很疯狂,虽然不知道能持续多久,作为开发软件的领头者,一直在找收录的方法,一直在努力创新着,一直被人模仿,却从没有被超越过,这个网页生成机,已经出来有一段时间了,一直没有拿出来分享,醉过醉过,它是利用的一些小小收录漏洞整的,您最好用一些老站域名,进行

关闭
快速回复 返回列表 返回顶部
本站自动发贴软件,是现在最流行的做脚本软件,这种发贴工具,不但发贴收录快,而且抢占好的先机,完全自由编辑,实现针对性群发模拟操作,软件可以顶贴,也可以发贴,可以兼容支持Discuz、PHPWind、Dvbbs三大主流论坛,有手机验证码收件,邮件收发的功能,支持验证码识别,注册问题识别,多线程任务,自动上传头像,自动激活注册邮件,兼容防注册插件,本站软件原创正版,更新效率最快的原创软件。 『网络推广软件』『自动发帖软件』『 自动发帖