我正在使用bookblock.js并尝试集成一个计时器来计算用户在每张幻灯片/页面上花费的秒数。我设法包含了计时器,但是每次用户登陆新幻灯片/页面时如何重置计时器?我还需要将花费的时间(以秒为单位)推送到 GTM dataLayer。
以下是我的代码供参考:
onBeforeFlip : function(page) {
var name = $(".bb-item").filter(function() { return $(this).css("display") == "block" }).attr("id");
var startTimer = setInterval(function(){
//console.log("seconds spent on this page");
}, 1000);
var d = new Date(1000*Math.round(startTimer/1000));
function pad(i) { return ('0'+i).slice(-2); }
var seconds = d.getUTCHours() + ':' + pad(d.getUTCMinutes()) + ':' + pad(d.getUTCSeconds());
console.log(seconds);
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'slide',
'slidename': name,
'timespent': seconds
});
}
提前致谢!