一个简单的计时器,在小于10的时候补零怎么实现?

<script>
        var js =0;
        var a= 0;
        var b=0;
        var d=0;
        
    function my(){
        document.getElementById("values").value = js;
        
        function jl(i){
            if(i<10){
                i="0"+i;
                }
            return i;
            }
        js = js+1;
        if(js==60){
            js=0;
            a+=1;
            }
        document.getElementById("demo").innerHTML = a;
        b = setTimeout(my,1000);
    }

    function go(){
        if(!d){
            d=1;
            my();
            }
        }
    function stop(){
        clearTimeout(b);
        d=0;
    }

</script>

 

	<script type="text/javascript">
		var js = 0;
		var a = 0;
		var b = 0;
		var d = 0;

		function jl(i) {
			if (i < 10) {
				i = "0" + i;
			}
			return i;
		}

		function my() {
			document.getElementById("values").value = js;
			js = js + 1;
			if (js == 60) {
				js = 0;
				a += 1;
			}
			document.getElementById("demo").innerHTML = jl(a) + ":" + jl(js);
			b = setTimeout(my, 1000);
		}

		function go() {
			if (!d) {
				d = 1;
				my();
			}
		}

		function stop() {
			clearTimeout(b);
			d = 0;
		}
	</script>
	<input type="text" id="values" value="0"/>
	<div id="demo">00:00</div>
	<input type="button" value="go" onclick="go();" />
	<input type="button" value="stop" onclick="stop();" />

 

就改了my函数里的内容

function my(){
      // 判断js的值是否大于10
      if(js<10){
          js = '0'+js*1
      }
      document.getElementById("values").value = js;
      // 不知道这个有什么用,我就注释掉了
      // function jl(i){
      //   if(i<10){
      //       i="0"+i;
      //       }
      //   return i;
      // }
      js = +js+1;//js前面加了一个加号,转化为数字类型
      if(js==60){
        js=0;
        a+=1;
      }
      document.getElementById("demo").innerHTML = a;
      b = setTimeout(my,1000);
    }
function fillZero(val){
  //最基本的就是判断小于10
  //return val < 10 ? ('0' + val) : val
  //下面两个写起来简单点
  return ('0' + val).slice(-2)
  //这个是es6出来的,兼容性需要注意下
  return String(val).padStart(2, '0')
}
function my(){
  js++
  var val = (js % 60)
  document.getElementById("values").value = fillZero(val);
  
  //除以60,向下取整,就是分钟数
  //向下取整可以使用Math.floor 或者 按位或运算(|)
  var minutes = (js / 60) | 0
  document.getElementById("demo").innerHTML = fillZero(minutes);
  b = setTimeout(my,1000);
}

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632