【问题标题】:Add minutes to dom countdown timer向 dom 倒数计时器添加分钟
【发布时间】:2023-02-10 19:58:26
【问题描述】:

我做了一个倒数计时器,但想用一个按钮增加额外的分钟数。

我制作了一个功能,可以为计时器增加 1 分钟,但我无法让它增加分钟。我将如何实现这一目标?

我注释掉了代码,因为它破坏了我的其余代码。

add1Minute() 函数应在计时器未运行时将其增加 1 分钟。

我尝试通过将 1 添加到变量然后将其添加到计时器来执行此操作。

let countdown;

    create();

    function create() {

      const mainDiv = document.createElement("div");

      document.body.appendChild(mainDiv);

      const timeDiv = document.createElement("div");

      timeDiv.setAttribute("id", "timeText");

      timeDiv.innerHTML = "25:00";

      mainDiv.appendChild(timeDiv);

      const startButton = document.createElement("button");

      startButton.setAttribute("class", "button");

      //startButton.addEventListener ("id", "startButton");

      startButton.addEventListener("click", startTimer);

      startButton.innerHTML = "start";

      mainDiv.appendChild(startButton);

      const restartButton = document.createElement("button");

      restartButton.setAttribute("class", "button");

      restartButton.addEventListener("click", restartTimer);

      restartButton.innerHTML = "restart";

      mainDiv.appendChild(restartButton);

      /*

      const minute1Button = document.createElement("button");

      minute1Button.setAttribute("class", "button");

      startButton.addEventListener ('click', add1Minute);

      minute1Button.innerHTML = "+ 1 minute";

      mainDiv.appendChild(minute1Button);

      const minute10Button = document.createElement("button");

      minute10Button.setAttribute("class", "button");

      minute10Button.addEventListener ('click',add10Minute);

      minute10Button.innerHTML = "+ 10 minutes";

      mainDiv.appendChild(minute10Button);

      */

    }

    //startTimer()

    function startTimer(sMin1) {

      let sMin = 0.15;

      function add1Minute(sMin) {

        sMin + 1;

        return sMin;

      }

      //if(sMin1 != null){

      //sMin + sMin1;

      //}

      let time = sMin * 60;

      countdown = setInterval(update, 1000);

      function update() {

        let min = Math.floor(time / 60);

        let sec = time % 60;

        sec = sec < 10 ? "0" + sec : sec;

        timeText.innerHTML = min + ":" + sec;

        time--;

        min == 0 && sec == 0 ? clearInterval(countdown) : countdown;

      }

    }

    //function add1Minute(sMin){

    // sMin + 1;

    // return sMin1;

    //}

    function add10Minute() {}

    function restartTimer() {

      clearInterval(countdown);

      document.body.innerHTML = "";

      create();

    }

【问题讨论】:

    标签: javascript html function time


    【解决方案1】:

    尝试:

    let sMin = 0.15;
    
    function add1Minute() {
      if (!countdown) {
        sMin += 1;
      }
    }
    
    function startTimer() {
      let time = sMin * 60;
    
      countdown = setInterval(update, 1000);
    
      function update() {
        let min = Math.floor(time / 60);
        let sec = time % 60;
        sec = sec < 10 ? "0" + sec : sec;
        timeText.innerHTML = min + ":" + sec;
        time--;
        min == 0 && sec == 0 ? clearInterval(countdown) : countdown;
      }
    }
    
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-30
      • 2021-12-15
      • 2022-11-14
      • 1970-01-01
      相关资源
      最近更新 更多