1(function ($) { 2 "use strict"; 3 $.fn.progressScroll = function (e) { 4 var r = $.extend({ width: 50, height: 50, borderSize: 6, mainBgColor: "var(--scrollup-bg-color)", lightBorderColor: "#0F172A", darkBorderColor: "var(--scrollup-border-color)", fontSize: "20px" }, e); 5 var t, 6 i, 7 n, 8 o = this, 9 a = this.selector, 10 s = "progressScroll-border", 11 d = "progressScroll-circle", 12 l = "progressScroll-text"; 13 this.getHeight = function () { 14 t = window.innerHeight; 15 i = document.body.offsetHeight; 16 n = i - t; 17 }; 18 this.addEvent = function () { 19 var e = document.createEvent("Event"); 20 e.initEvent("scroll", false, false); 21 window.dispatchEvent(e); 22 }; 23 this.updateProgress = function (e) { 24 var e = Math.round(100 * e); 25 var r = (e * 360) / 100; 26 if (r <= 180) { 27 $("." + s, a).css("background-image", "linear-gradient(" + (90 + r) + "deg, transparent 50%, #0F172A 50%),linear-gradient(90deg, #0F172A 50%, transparent 50%)"); 28 } else { 29 $("." + s, a).css("background-image", "linear-gradient(" + (r - 90) + "deg, transparent 50%, var(--scrollup-border-color) 50%),linear-gradient(90deg, #0F172A 50%, transparent 50%)"); 30 } 31 $("." + l, a).text(); 32 }; 33 //e+"%" 34 this.prepare = function () { 35 $(a).addClass("progressScroll"); 36 $(a).html("<div class='" + s + "'><div class='" + d + "'><span class='" + l + "'></span></div></div>"); 37 $(".progressScroll").css({ width: r.width, height: r.height, position: "fixed", bottom: "20px", right: "20px" }); 38 $("." + s, a).css({ position: "relative", "text-align": "center", width: "100%", height: "100%", "border-radius": "50%", "background-color": r.darkBorderColor, "background-image": "linear-gradient(91deg, transparent 50%," + r.lightBorderColor + "50%), linear-gradient(90deg," + r.lightBorderColor + "50%, transparent 50%" }); 39 $("." + d, a).css({ position: "relative", top: "50%", left: "50%", transform: "translate(-50%, -50%)", "text-align": "center", width: r.width - r.borderSize, height: r.height - r.borderSize, "border-radius": "50%", "background-color": r.mainBgColor }); 40 $("." + l, a).css({ top: "50%", left: "50%", transform: "translate(-50%, -50%)", position: "absolute", "font-size": r.fontSize }); 41 }; 42 this.init = function () { 43 o.prepare(); 44 $(window).bind("scroll", function () { 45 var e = window.pageYOffset || document.documentElement.scrollTop, 46 r = Math.max(0, Math.min(1, e / n)); 47 o.updateProgress(r); 48 }); 49 $(window).bind("resize", function () { 50 o.getHeight(); 51 o.addEvent(); 52 }); 53 $(window).bind("load", function () { 54 o.getHeight(); 55 o.addEvent(); 56 }); 57 }; 58 o.init(); 59 }; 60 61})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.