<body>
<div class="entry-content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tempor ipsum quis velit imperdiet sit amet vulputate diam elementum. Maecenas luctus, turpis pretium gravida tincidunt, nulla nibh feugiat nibh, posuere vestibulum odio purus condimentum mi. Vivamus nisi nulla, feugiat et tempor a, ultricies eu elit. Mauris cursus quam a purus venenatis blandit. In dolor justo, sodales eu interdum quis, dignissim placerat magna. Donec sagittis porttitor orci, et euismod ligula semper ut. Mauris auctor venenatis sapien, ut egestas ligula vulputate sit amet. In hac habitasse platea dictumst. Quisque id purus vitae diam mattis sollicitudin. Aliquam est ante, laoreet luctus tincidunt id, blandit vitae purus.
<br />
<br />
Praesent ac nunc sit amet arcu dignissim gravida. Vestibulum rutrum orci ut erat vestibulum pharetra. Vestibulum odio diam, porttitor non sagittis vitae, egestas quis ligula. Donec metus felis, tincidunt eget luctus quis, ultricies vitae arcu. Ut luctus mollis augue, vitae elementum velit dignissim id. Mauris gravida enim non eros porttitor bibendum. Integer mollis vestibulum condimentum. Duis blandit orci eu dui fringilla ac ultricies magna mollis. Aliquam convallis, felis a mollis consequat, tortor dolor convallis mauris, at blandit nisi justo at mi. Nulla ac orci diam. Donec in est magna, in sagittis turpis.
<br />
<br />
Donec a feugiat orci. Vivamus rutrum accumsan ante sit amet semper. In semper tincidunt mollis. Maecenas justo ligula, pellentesque sed imperdiet id, dapibus nec nunc. In interdum sapien ut leo euismod et scelerisque sem sagittis. Praesent sapien nunc, sodales eu consectetur volutpat, condimentum egestas magna. Morbi euismod, sapien ut feugiat placerat, mauris diam scelerisque mi, ut auctor leo tortor vitae augue. Nunc venenatis, quam in malesuada auctor, metus dui sagittis massa, sit amet convallis enim nibh eget orci. Nulla est urna, elementum a posuere pulvinar, vehicula ac arcu. Aenean ac...
JavaScript
jQuery(function($) {
// Debug flag
var debugMode = true;
// Default time delay before checking location
var callBackTime = 100;
// # px before tracking a reader
var readerLocation = 150;
// Set some flags for tracking & execution
var timer = 0;
var scroller = false;
var endContent = false;
var didComplete = false;
// Set some time variables to calculate reading time
var startTime = new Date();
var beginning = startTime.getTime();
var totalTime = 0;
// Get some information about the current page
var pageTitle = document.title;
// Track the aticle load
if (!debugMode) {
ga('send', 'event', 'Reading', 'ArticleLoaded', pageTitle, {'nonInteraction': 1});
} else {
alert('The page has loaded. Woohoo.');
}
// Check the location and track user
function trackLocation() {
bottom = $(window).height() + $(window).scrollTop();
height = $(document).height();
// If user starts to scroll send an event
if (bottom > readerLocation && !scroller) {
currentTime = new Date();
scrollStart = currentTime.getTime();
timeToScroll = Math.round((scrollStart - beginning) / 1000);
if (!debugMode) {
ga('send', 'event', 'Reading', 'StartReading', pageTitle, timeToScroll, {'metric1' : timeToScroll});
} else {
alert('started reading ' + timeToScroll);
}
scroller = true;
}
// If user has hit the bottom of the content send an event
if (bottom >= $('.entry-content').scrollTop() + $('.entry-content').innerHeight() && !endContent) {
currentTime = new Date();
contentScrollEnd = currentTime.getTime();
timeToContentEnd = Math.round((contentScrollEnd - scrollStart) / 1000);
if (!debugMode) {
if (timeToContentEnd < 60) {
ga('set',...
Please Whitelist JSFiddle in your content blocker.
Help keep JSFiddle free for always by one of two ways:
Whitelist JSFiddle in your content blocker (two clicks)
Go PRO and get access to additional PRO features →
Join the 4+ million users, and keep the JSFiddle dream alive.
Ad-free
All ads in the editor and listing pages are turned completely off.
Use pre-released features
You get to try and use features (like the Palette Color Generator) months before everyone else.
Fiddle collections
Sort and categorize your Fiddles into multiple collections.
Private collections and fiddles
You can make as many Private Fiddles, and Private Collections as you wish!
Console
Debug your Fiddle with a minimal built-in JavaScript console.