gpt4 book ai didi

javascript - 警报返回为未定义

转载 作者:行者123 更新时间:2023-11-30 11:14:52 25 4
gpt4 key购买 nike

我正在尝试让我的提醒与我的计时器显示的时间一起显示。

function Stopwatch(elem) {
var time = 0;
var offset;
var interval;

function update() {
if (this.isOn) {
time += delta();
}

elem.textContent = timeFormatter(time);
}

function delta() {
var now = Date.now();
var timePassed = now - offset;

offset = now;

return timePassed;
}

function timeFormatter(time) {
time = new Date(time);

var minutes = time.getMinutes().toString();
var seconds = time.getSeconds().toString();
var milliseconds = time.getMilliseconds().toString();

if (minutes.length < 2) {
minutes = '0' + minutes;
}

if (seconds.length < 2) {
seconds = '0' + seconds;
}

while (milliseconds.length < 3) {
milliseconds = '0' + milliseconds;
}

return minutes + ' : ' + seconds + ' . ' + milliseconds;
}

this.start = function() {
interval = setInterval(update.bind(this), 10);
offset = Date.now();
this.isOn = true;
};

this.stop = function() {
clearInterval(interval);
interval = null;
this.isOn = false;
};

this.reset = function() {
time = 0;
update();
};

this.isOn = false;
}

var timer = document.getElementById('timer');
var toggleBtn = document.getElementById('toggle');
var resetBtn = document.getElementById('reset');

var watch = new Stopwatch(timer);

function start() {
toggleBtn.textContent = 'Stop';
watch.start();
}

function stop() {
toggleBtn.textContent = 'Start';
watch.stop();
}

toggleBtn.addEventListener('click', function() {
watch.isOn ? stop() : start();
});

resetBtn.addEventListener('click', function() {
watch.reset();
});

function alertSystem(){
var timer = document.getElementById('timer')
alert(timer);
}
<h1 id="timer">00 : 00 . 000</h1>

<div>
<button class=button id="toggle">Start</button>
<button class=button id="reset">Reset</button>
<button onclick='alertSystem()'>get number</button>
</div>

代码很多,但主要是让定时器工作。最后一个名为 alertSystem() 的函数位于底部,是触发警报调用的函数。对我来说,警报显示为 [object HTMLHeadingElement]undefined。前者出现在我有 alert(timer); 但如果我有 alert(timer.value);alert(timer.length); 我得到后者。

有谁知道我怎样才能在警报中获取计时器的值?


最佳答案

要获取计时器的值,您应该执行如下操作:

document.querySelector('#timer').innerHTML

否则,document.getElementById 返回一个完整的元素作为 js 对象。

关于javascript - 警报返回为未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52009647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com