首页 > 解决方案 > 我想将输入值添加到等于第一个输入值的 var

问题描述

function onbtntime(sec) {
  var hours;
  var minutes;
  var day;
  var sec;

  if (isNaN(sec)) {
    alert("please enter a number");
    sec = 0;
  }
  if (Number(sec) <= 0) {
    alert("Please enter a positive number");
    sec = 0;
  } else if (sec == undefined) {
    sec = 0;
  } else if (sec >= 60) {

    minutes = Math.floor(sec / 60);
    sec = Math.round(sec % 60);
    if (minutes >= 60) {
      hours = Math.floor(minutes / 60);
      minutes = Math.round(minutes % 60);
      if (hours >= 24) {
        day = Math.floor(hours / 24);
        hours = Math.round(hours % 24);

      }
    }
  }
  if (hours == undefined) {
    hours = 0;
  }
  if (minutes == undefined) {
    minutes = 0;
  }
  if (day == undefined) {
    day = 0;
  }
  id_p.innerHTML = "Time- " + "Day/s: " + day + " ,hours: " + hours + " ,minutes: " + minutes + " ,sec: " +
    sec;
}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
  </head>
  <body>
    <h2>Welcome to my Time calculator </h2>
    <p id="id_p">Change Second to day/s, hours and minutes.</p>
    <label>Enter your sec</label>
    <input type="text" id="id_input" />
    <button type="button" id="id_button" onclick="onbtntime(parseInt(id_input.value))">שלח</button>
  </body>
</html>

这是我的代码,我希望当用户在第一个输入值之后添加一个或一千个输入值时,他们会计算出正确的时间。嗯,例如,我只希望在我发送输入值 500 后输出为:(时间-天/秒:0,小时:0,分钟:8,秒:20),如果发送输入值 500,则输出为: (时间 - 天/秒:0,小时:0,分钟:16,秒:40)等等......对不起我的英语不好谢谢你的帮助

标签: javascript

解决方案


在这种情况下,您只需将秒数存储在全局变量中。

let secs = 0;

function onbtntime(sec) { 

  if (!Number(sec) || sec <= 0) {
    alert("Please enter a number greater than zero!");
    return;
  }
  
  let
    hours = 0,
    minutes = 0,
    day = 0;

  secs += sec;

  minutes = Math.trunc(secs / 60);
  sec = secs % 60;

  if (minutes >= 60) {
    hours = Math.trunc(minutes / 60);
    minutes = minutes % 60;
    if (hours >= 24) {
      day = Math.trunc(hours / 24);
      hours = hours % 24;
    }
  }

  console.log("Time- " + "Day/s: " + day + ", Hours: " + hours + ", minutes: " + minutes + ", sec: " + sec);
}

//onbtntime("u");
//onbtntime(0);
onbtntime(3600);
onbtntime(86400);
onbtntime(63);
onbtntime(90116);
onbtntime(3);


推荐阅读