File: /home/desetmhw/junksremovals-dubai.com/js/back_to_top.js
jQuery(window).on("elementor/frontend/init", function () {
elementorFrontend.hooks.addAction(
"frontend/element_ready/rkit-back-to-top.default",
function ($scope, $) {
const container = $scope.find(".rkit-back-to-top-container");
let $settings = container.data("settings");
const button = $scope.find(".rkit-back-to-top-button");
let foreground = $settings.foreground;
let background = $settings.background;
if ($settings.style == "progress") {
const canvas = $scope.find(".scroll-progress")[0];
const ctx = canvas.getContext("2d");
const radius = 100; // Radius tetap
function drawCircle(progress) {
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.beginPath();
ctx.arc(canvas.width / 2, canvas.height / 2, radius, 0, Math.PI * 2);
ctx.strokeStyle = background;
ctx.lineWidth = 10;
ctx.stroke();
ctx.beginPath();
ctx.arc(
canvas.width / 2,
canvas.height / 2,
radius,
-Math.PI / 2,
progress * 2 * Math.PI - Math.PI / 2
);
ctx.strokeStyle = foreground;
ctx.lineWidth = 10;
ctx.stroke();
}
function updateCircle() {
const scrollTop = $(window).scrollTop();
const docHeight = $(document).height() - $(window).height();
const scrollPercent = scrollTop / docHeight;
drawCircle(scrollPercent);
}
$(window).on("scroll", updateCircle);
drawCircle(0);
}
button.on("click", function (e) {
e.preventDefault();
window.scrollTo({ top: 0, behavior: "smooth" });
});
$(window).on("scroll", function (e) {
button.removeClass("show");
});
$(window).on("scrollend", function () {
if ($(this).scrollTop() > 100) {
button.addClass("show");
}
});
}
);
});