javascript dosen';t读取html中的值

javascript dosen';t读取html中的值,javascript,html,function,dom,innerhtml,Javascript,Html,Function,Dom,Innerhtml,因此,我想制作一个程序,从您选择的值开始倒计时,但问题是当我尝试将值带到javascript时,它不起作用,但当我在html中键入值时,它起作用 这是我的html代码 <body> <div id="count"> <input id="time" type="number" min="0"> <button id="button">

因此,我想制作一个程序,从您选择的值开始倒计时,但问题是当我尝试将值带到javascript时,它不起作用,但当我在html中键入值时,它起作用

这是我的html代码

<body>
<div id="count">
    <input id="time" type="number" min="0">
    <button id="button">Press here to begin the countdown</button>
</div>
<script src="lol.js"></script>

按此处开始倒计时
这是我的javascript代码

var count = document.getElementById("count"),
    seconds = document.getElementById("time").value ,
    btn = document.getElementById("button"),
    secondPass;
    countDown = setInterval(function() {
        secondPass()
    } , 1000);
btn.onclick =         
function secondPass(){
    var minutes = Math.floor(seconds / 60),
        remseconds = seconds % 60;
    count.innerHTML = minutes + ":" + remseconds;
    if (remseconds < 10){
        remseconds = "0" + remseconds;
    }
    if (seconds> 0 ){
        seconds = seconds - 1;
    }   
    else {
        clearInterval(countDown)
        count.innerHTML = "done !"
    }
}
var count=document.getElementById(“count”),
秒=document.getElementById(“时间”).value,
btn=document.getElementById(“按钮”),
第二关;
倒计时=设置间隔(函数(){
第二关()
} , 1000);
btn.onclick=
函数secondPass(){
var分钟=数学地板(秒/60),
remseconds=seconds%60;
count.innerHTML=minutes+“:”+remseconds;
如果(rems<10){
remseconds=“0”+remseconds;
}
如果(秒>0){
秒=秒-1;
}   
否则{
清除间隔(倒计时)
count.innerHTML=“完成!”
}
}

当您声明
秒时,主要错误-准时
变量-时间输入为空。 我修正了你的例子,所以你可以找出问题所在

var count = document.getElementById("count"),
    seconds,
    btn = document.getElementById("button"),
    countDown
  
  btn.onclick = function() {
    seconds =  document.getElementById("time").value;
    countDown = setInterval(function() {
      secondPass()
    }, 1000);
  }
    
function secondPass(){
     console.log('S', seconds)
    var minutes = Math.floor(seconds / 60),
        remseconds = seconds % 60;
    count.innerHTML = minutes + ":" + remseconds;
    if (remseconds < 10){
        remseconds = "0" + remseconds;
    }
    if (seconds> 0 ){
        seconds = seconds - 1;
    }   
    else {
        clearInterval(countDown)
        count.innerHTML = "done !"
    }
}
var count=document.getElementById(“count”),
秒,
btn=document.getElementById(“按钮”),
倒计时
btn.onclick=函数(){
秒=document.getElementById(“时间”).value;
倒计时=设置间隔(函数(){
第二关()
}, 1000);
}
函数secondPass(){
console.log('S',秒)
var分钟=数学地板(秒/60),
remseconds=seconds%60;
count.innerHTML=minutes+“:”+remseconds;
如果(rems<10){
remseconds=“0”+remseconds;
}
如果(秒>0){
秒=秒-1;
}   
否则{
清除间隔(倒计时)
count.innerHTML=“完成!”
}
}

当您声明
秒时,主要错误-准时
变量-时间输入为空。 我修正了你的例子,所以你可以找出问题所在

var count = document.getElementById("count"),
    seconds,
    btn = document.getElementById("button"),
    countDown
  
  btn.onclick = function() {
    seconds =  document.getElementById("time").value;
    countDown = setInterval(function() {
      secondPass()
    }, 1000);
  }
    
function secondPass(){
     console.log('S', seconds)
    var minutes = Math.floor(seconds / 60),
        remseconds = seconds % 60;
    count.innerHTML = minutes + ":" + remseconds;
    if (remseconds < 10){
        remseconds = "0" + remseconds;
    }
    if (seconds> 0 ){
        seconds = seconds - 1;
    }   
    else {
        clearInterval(countDown)
        count.innerHTML = "done !"
    }
}
var count=document.getElementById(“count”),
秒,
btn=document.getElementById(“按钮”),
倒计时
btn.onclick=函数(){
秒=document.getElementById(“时间”).value;
倒计时=设置间隔(函数(){
第二关()
}, 1000);
}
函数secondPass(){
console.log('S',秒)
var分钟=数学地板(秒/60),
remseconds=seconds%60;
count.innerHTML=minutes+“:”+remseconds;
如果(rems<10){
remseconds=“0”+remseconds;
}
如果(秒>0){
秒=秒-1;
}   
否则{
清除间隔(倒计时)
count.innerHTML=“完成!”
}
}

代码中的问题是,您试图在输入
值之前获取该值。
如果我理解正确,您希望:

var count=document.getElementById(“count”),
btn=document.getElementById(“按钮”),
第二关;
btn.addEventListener(“单击”,第二次通过);
函数secondPass(){
var seconds=document.getElementById(“时间”).value
var倒计时=设置间隔(函数(){
var分钟=数学地板(秒/60),
remseconds=seconds%60;
count.innerHTML=minutes+“:”+remseconds;
如果(rems<10){
remseconds=“0”+remseconds;
}
如果(秒>0){
秒=秒-1;
}
否则{
清除间隔(倒计时)
count.innerHTML=“完成!”
}
}, 1000);
}

按此处开始倒计时

代码中的问题是,您试图在输入
值之前获取该值。
如果我理解正确,您希望:

var count=document.getElementById(“count”),
btn=document.getElementById(“按钮”),
第二关;
btn.addEventListener(“单击”,第二次通过);
函数secondPass(){
var seconds=document.getElementById(“时间”).value
var倒计时=设置间隔(函数(){
var分钟=数学地板(秒/60),
remseconds=seconds%60;
count.innerHTML=minutes+“:”+remseconds;
如果(rems<10){
remseconds=“0”+remseconds;
}
如果(秒>0){
秒=秒-1;
}
否则{
清除间隔(倒计时)
count.innerHTML=“完成!”
}
}, 1000);
}

按此处开始倒计时

请发布您的输入和期望的输出fyi:setTimeout不准确,这将不是一个很好的倒计时计时器,因为它适合请发布您的输入和期望的输出fyi:setTimeout不准确,这将不是一个很好的倒计时计时器,因为它适合这正是我想要的!非常感谢我的兄弟,我很高兴我能帮上忙:)你可以把这个答案标记为接受答案。这正是我想要的!非常感谢我的兄弟,我很高兴我能帮上忙:)你可以把这个答案标记为接受答案。