我正在尝试创建一个有两件事的功能:
(1)应检查页面上是否显示div元素
(2)每当元素出现时,我需要在页面上显示一个实时计时器,显示元素在页面上可见的时间。
问题是我有一个名为timer的全局变量(初始化为0)。因此,当我第一次查看元素时,计时器按预期工作(计时器+ =结束时间 - 开始时间)。
然而,当我从元素滚动时,定时器被重新设置为初始值0.因此,在第二次,定时器重新启动为0.但是第二次,我希望定时器启动从那是最后一次。
我尝试用封闭但不能这样做。
有人可以帮忙吗?我的伪代码如下:
var timer = 0, t1 = 0;
function counter() {
(function func() {
//check is item is visible
//if visible, then t1 = Date.now()
//if item not visible, then t1 = 0
})()
//calculate time elapsed based on t1 above
return timer;
}