用于切换功能的 Javascript 计时器 [英] Javascript timer to switch functions

查看:24
本文介绍了用于切换功能的 Javascript 计时器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有三个名为 toggle1()toggle2()toggle3() 的函数链接到我的 html.

I have three functions called toggle1(), toggle2(), toggle3() linked to my html.

我想制作一个计时器来调用每个函数,延迟为 5 秒(5 秒用于测试).

I want to make a timer to call each function with a delay of 5 seconds (5seconds for testing).

我写了这段代码,但它不起作用.有关如何使其工作的任何提示?

I wrote this code, but it doesn't work. Any tips on how to make it work?

我在页面加载时使用了函数 init()

I have used function init() when the page loads

function timer() {
    var i = 1;
    var delay = 5000;
    for (i, i = 3, i++) {
        switch (i) {
            case 1:
                toggle1();
                delay;
                break;
            case 2:
                toggle2();
                delay;
                break;
            case 3:
                toggle3();
                delay;
                break;
        }
    }
}

推荐答案

<html>
    <head>
    <script type="text/javascript">
    var
    hMsg,
    CntFunc = {
        curr: 0,
        funcList: [],

        play: function () {
            CntFunc.funcList[CntFunc.curr]();
            CntFunc.next();
        },

        next: function () {
            if (CntFunc.curr >= CntFunc.funcList.length-1)
                CntFunc.curr = 0;
            else {
                CntFunc.curr++;
                setTimeout(CntFunc.play, 5000);
            }
        }
    };

    var toggle1 = function() {hMsg.innerHTML = "1";}
    var toggle2 = function() {hMsg.innerHTML = "2";}
    var toggle3 = function() {hMsg.innerHTML = "3";}

    window.onload = function () {
        hMsg = document.getElementById("msg");
        CntFunc.funcList = [toggle1, toggle2, toggle3];
        CntFunc.play();
    }
    </script>
    </head>
    <body>
        <div id="msg"></div>
    </body>
</html>

这篇关于用于切换功能的 Javascript 计时器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆