<div id="progressbar-container">
<div id="bar-progress"></div>
</div>
<div id="circle-container">
<div id="slice">
<div class="pie"></div>
<div class="pie fill"></div>
</div>
<div id="text">0%</div>
<div id="read-time"></div>
</div>
<div id="next-article">Read Next Article</div>
<div id="article">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus et lobortis ante. Maecenas vestibulum massa urna, quis mollis tellus sodales suscipit. Donec vehicula fringilla sagittis. Aenean porta est risus, eu bibendum ante condimentum eu. Nam quis nunc vel augue commodo pulvinar. Suspendisse condimentum tristique nibh vel feugiat. Suspendisse ullamcorper ligula diam, ac tincidunt velit malesuada vel. Curabitur congue ultrices pharetra. Mauris iaculis diam in magna interdum tristique.</p>
<p>Sed volutpat ligula nec fringilla pretium. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Integer sit amet rutrum dolor. Vivamus rutrum lacinia tellus in cursus. Etiam a auctor justo, id tristique nisl. Mauris vehicula volutpat interdum. Suspendisse venenatis sem et consequat imperdiet. In pulvinar molestie lorem. Morbi sit amet odio eu ante lacinia vulputate eu id purus.</p>
<p>Ut malesuada magna dignissim purus posuere feugiat. Nam ultrices sapien quis est accumsan, quis elementum nulla accumsan. Aliquam porta volutpat ultrices. Interdum et malesuada fames ac ante ipsum primis in faucibus. Suspendisse vitae massa non magna accumsan convallis. Fusce ac orci urna. Quisque eu malesuada turpis, sit amet elementum diam. Ut tristique tincidunt mi sed laoreet. Duis diam est, pharetra ut elementum in, feugiat in orci.</p>
<p>Maecenas mi ipsum, fringilla eu fringilla sit amet, faucibus ac justo. Nullam nec lorem eu lectus varius suscipit aliquet vitae risus. Proin quis lectus dictum, fringilla purus vitae, sagittis tortor. Morbi condimentum aliquet fringilla. Nam auctor libero in magna...
$(function () {
var text, words = 0;
$('#article').each(function () {
text = $.trim($(this).text());
words += text.split(/\s+/).length;
});
var wpm = 200,
time = Math.ceil(words / wpm);
$('#read-time').text('~' + time + ' mins');
});
$(window).scroll(function () {
var sT = $(window).scrollTop(),
dH = $(document).height(),
wH = $(window).height(),
p = (sT / (dH - wH)) * 100,
d = (p / 100) * 360;
$('#text').text(Math.floor(p) + '%');
if (p > 50) {
$('#slice').addClass('gt-50');
$('.pie.fill').addClass('active');
} else {
$('#slice').removeClass('gt-50');
$('.pie.fill').removeClass('active');
}
$("#bar-progress").css('width', p + '%');
$(".pie").css('transform', 'rotate(' + d + 'deg)');
if (p >= 95) {
$('#next-article').addClass('show');
} else {
$('#next-article').removeClass('show');
}
});
// SmoothScroll for websites v1.2.1
// Licensed under the terms of the MIT license.
// People involved
// - Balazs Galambosi (maintainer)
// - Michael Herf (Pulse Algorithm)
! function () {
function e() {
var e = !1;
e && c("keydown", o), g.keyboardSupport && !e && u("keydown", o)
}
function t() {
if (document.body) {
var t = document.body,
r = document.documentElement,
a = window.innerHeight,
o = t.scrollHeight;
if (x = document.compatMode.indexOf("CSS") >= 0 ? r : t, w = t, e(), S = !0, top != self) y = !0;
else if (o > a && (t.offsetHeight <= a || r.offsetHeight <= a) && (r.style.height = "auto", x.offsetHeight <= a)) {
var n = document.createElement("div");
n.style.clear = "both", t.appendChild(n)
}
g.fixedBackground || b || (t.style.backgroundAttachment = "scroll", r.style.backgroundAttachment = "scroll")
}
...
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.