我想创建一个对象,其中键设置为单击按钮的时间。然后我想检查当前时间与创建时间的每一秒和console.log()相对时间。问题是它从未在几秒钟之前发生变化。我错过了什么?
Codepen Live示例:http://codepen.io/colealanroberts/pen/VLvpzR/?editors=001
这是我到目前为止所拥有的:
(function() {
// HTML Elements
var $btn = document.getElementById('save');
var $relTime = document.getElementById('relative-time');
var tObj = {};
var now = moment();
var t = now.format("dddd, MMMM Do YYYY, h:mm:ss a");
function saveObj() {
tObj = {
timeClicked: t
}
// Log initial time
console.log(tObj.timeClicked);
setInterval(function() {
var rel = moment([tObj.timeClicked]).fromNow(true);
console.log(rel);
}, 1000);
}
$btn.addEventListener('click', saveObj);
})();
答案 0 :(得分:1)
你不是保存片刻而是字符串。
如果要继续使用该字符串,则必须解析它:
var rel = moment(tObj.timeClicked,["dddd, MMMM Do YYYY, h:mm:ss a"]).fromNow(true);
当然,存储时刻本身会更简单:http://codepen.io/anon/pen/qdOjqr