我想节省用户点击页面的时间.所以我可以稍后返回他多久前点击一个函数.
我认为它应该基本上这样工作:
var currentTime = new Date();
var lastClick = currentTime.getTime();
$("body").click(function () {
var lastClick = currentTime.getTime();
});
function howlong() {
console.log('last click was: ' + currentTime.getTime() - lastClick + 'ms ago');
}
Run Code Online (Sandbox Code Playgroud)
但是,我不能让它工作.怎么一直回来0.我做错了什么?
您需要删除var
处理程序中的from,否则您将在本地范围内lastClick
再次声明,并且您实际上从未设置过您认为的变量.
一个Date
实例不更新.它的价值始终是它所构建的时间; 你将有一个新的做new Date()
你想要一个新的每次现在.
考虑到这两个因素,以下内容应该有效;
var lastClick;
$("body").click(function () {
lastClick = (new Date()).getTime();
});
function howlong() {
console.log('last click was: ' + ((new Date()).getTime() - lastClick) + 'ms ago');
}
Run Code Online (Sandbox Code Playgroud)
注意周围的潜在WTF额外.这可以确保构造一个新的Date,并在其上调用,而不是被调用,然后被调用(这是错误的!).()
new Date()
getTime()
Date().getTime()
new
您还必须将数学-
括在括号内howlong()
,在字符串连接之前进行数学运算.
归档时间: |
|
查看次数: |
1922 次 |
最近记录: |