尝试从HTML输入字段获取变量并将其作为参数传递给javascript构造函数。我是JS的新手
构造
function Stopwatch(elem,count_Up,count_Down) {
//Private Variables
var time = 0; // Time in milliseconds
var interval; // Used for update function
var offset; //
var countUp = count_Up
var countDown = count_Down
console.log('SWT'+countUp+count_Up)
将值添加到构造函数
function setCountTarget()
{
var countTarget_Up = document.getElementById("count_Target").value;
return countTarget_Up;
}
var watch = new Stopwatch(timer,setCountTarget(),setCountTarget());
//Create Stopwatch object 1
答案 0 :(得分:0)
您不必在函数内声明另一个变量。
-m
返回字符串类型。 如果你想要一个号码,那么你就可以做到,
function setCountTarget(){
return document.getElementById("count_Target").value;
}
而不是对象构造函数或实例化我会建议在循环中执行它。 你从用户那里得到一个数据(可能是计数的结束或开始)然后你从结束递减或递增递增。 在您可能不需要构造函数的每个细节中考虑您的问题。 最好再阅读面向对象的JS。
答案 1 :(得分:0)
很难确定,但我怀疑这是一个时间问题 - 为了获得输入节点的值,该节点需要在调用脚本之前加载到DOM中。尝试将Stopwatch()
调用包装在window.onload
函数中,这样您就可以确定DOM已完全加载:
function setCountTarget()
{
var countTarget_Up = document.getElementById("count_Target").value;
return countTarget_Up;
}
var watch ;//I'm assuming you want this to be a global variable;
window.onload = function(){
var watch = new Stopwatch(timer,setCountTarget(),setCountTarget());
}
答案 2 :(得分:0)
您可以混合使用函数和值吗?
秒表中
console.log('SWT'+countUp+count_Up)
应该是
console.log('SWT'+countUp()+count_Up())
因为您要记录函数的值,而不是函数的代码。
观看
var watch = new Stopwatch(timer,setCountTarget(),setCountTarget());
应该是
var watch = new Stopwatch(timer,setCountTarget,setCountTarget);
因为要传递函数,而不是函数值。