-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathpage_scroll_indicator.js
28 lines (21 loc) · 997 Bytes
/
page_scroll_indicator.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
var PageScrollIndicator = PageScrollIndicator || {};
PageScrollIndicator.createProgressBar = function(progressBarLocation, contentToTrack) {
// Create the container div
var $progressContElement = $("<div id='progress-cont'></div>");
// Create the progress bar itself
var $progressBarElement = $("<div id='progress-bar'></div>");
$progressBarElement.css("width", "0%");
$progressContElement.append($progressBarElement);
var $locationObject = $(progressBarLocation);
$locationObject.prepend($progressContElement);
// Event handler that updates the width of the progress bar based
// on how far the contentToTrack elemt has been scrolled
$(window).scroll(function(e){
var pageHeight = $(window).height();
var $container = $(contentToTrack);
// Adjusted height
var adjustedHeight = $container.innerHeight() - pageHeight;
var progress = (($(window).scrollTop() / adjustedHeight) * 100);
$progressBarElement.css("width", progress + "%");
});
}