Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/forestryio/hugo-theme-novela.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/progressBar.js')
-rw-r--r--assets/js/progressBar.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/assets/js/progressBar.js b/assets/js/progressBar.js
new file mode 100644
index 0000000..984c2d9
--- /dev/null
+++ b/assets/js/progressBar.js
@@ -0,0 +1,43 @@
+window.addEventListener("scroll", updateProgress);
+
+progressBar = document.getElementById("progressBar");
+
+scrollProgress = document.getElementById("progressIndicator");
+
+if (document.getElementById("subscriptionSection")){
+ articleSubscription = document.getElementById("subscriptionSection").offsetHeight;
+}
+else{
+ articleSubscription = 0;
+}
+
+if(document.getElementById("articleNext")){
+ articleNext = document.getElementById("articleNext").offsetHeight;
+}
+else{
+ articleNext = 0;
+}
+
+bottomOffset = articleSubscription + articleNext;
+
+
+function updateProgress(){
+ let percentScrolled = (window.pageYOffset / (document.body.scrollHeight - (bottomOffset * 3.5))) * 100;
+
+ let transformation = "translateY(" + percentScrolled + "%)";
+ scrollProgress.style.webkitTransform = (transformation);
+ console.log(percentScrolled);
+
+ if (percentScrolled > 100){
+ progressBar.style.animationName = "progress-fade-out";
+ setTimeout(function(){
+ progressBar.style.opacity = "0";
+ }, 900);
+ }
+ else{
+ progressBar.style.animationName = "progress-fade-in";
+ setTimeout(function(){
+ progressBar.style.opacity = "1";
+ }, 900);
+ }
+} \ No newline at end of file