Skip to content

Instantly share code, notes, and snippets.

@airton
Last active May 16, 2018 22:44
Show Gist options
  • Save airton/7eca8185ccbd397ea3cc4cc59a0e5f44 to your computer and use it in GitHub Desktop.
Save airton/7eca8185ccbd397ea3cc4cc59a0e5f44 to your computer and use it in GitHub Desktop.
// Add tracking on scroll page
var percents = { 0 :true, 25 :true, 50 :true, 75 :true, 100 :true };
var startTrackOnScroll = function(percent) {
if(window.analytics) {
analytics.track('Page Scrolled Percent ' + percent + '%', {
eventLabel: percent
});
}
}
var checkScroll = function(e){
var scrollTop = $(window).scrollTop();
var winHeight = $(window).height();
var docHeight = $(document).height();
var scrollPercent = (scrollTop) / (docHeight - winHeight);
var scrollPercentRounded = Math.round(scrollPercent*100);
//Se o scroll percent estiver no objeto percents
if( scrollPercentRounded in percents ){
delete percents[scrollPercentRounded];
console.log('Page Scrolled Percent ' + scrollPercentRounded + '%')
startTrackOnScroll(scrollPercentRounded);
}
//Se o objeto percents estiver vazio
if( !Object.keys(percents).length ){
window.removeEventListener('scroll', checkScroll);
}
}
window.addEventListener('scroll', checkScroll);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment