PageSourceSearch

https://thecoincabinet.com/front/js/app.js?v=1778021480

js thecoincabinet.com collected 2026-10-03 00:33:10 UTC 3,613 bytes, 125 lines download raw bytes

1$(document).on("click", "#mobile-menu-button", function (e) {
2    e.preventDefault();
3    openMobileMenu();
4});
5
6$(document).on("click", "#mobile-menu-overlay", function (e) {
7    e.preventDefault();
8    closeMobileMenu();
9});
10
11/* Mobile sub-menu (SERVICES / COMPANY) toggle.
12   On touch devices `:hover` doesn't fire reliably, so we attach a click
13   handler to the dropdown trigger anchors inside the off-canvas menu and
14   flip an `.is-open` class on their parent .mobile-menu-item.
15   Only triggers used as a toggle (those with href="javascript:void(0)")
16   are matched — direct page links keep their default behaviour. */
17$(document).on(
18    "click",
19    "#mobile-menu .mobile-menu-item > a[href^='javascript']",
20    function (e) {
21        e.preventDefault();
22        var $item = $(this).closest(".mobile-menu-item");
23        // Close any other open sub-menu first so only one is expanded at a time.
24        $("#mobile-menu .mobile-menu-item")
25            .not($item)
26            .removeClass("is-open");
27        $item.toggleClass("is-open");
28    }
29);
30
31openMobileMenu = function () {
32    $("#mobile-menu").addClass("show");
33    $("#mobile-menu-overlay").removeClass("d-none");
34};
35
36closeMobileMenu = function () {
37    $("#mobile-menu").removeClass("show");
38    $("#mobile-menu-overlay").addClass("d-none");
39};
40
41window.onscroll = function () {
42    makeSticky();
43};
44
45var header = document.querySelector(".header-container");
46var sticky = header.offsetTop;
47
48function makeSticky() {
49    if (window.pageYOffset > sticky) {
50        header.classList.add("sticky");
51        setTimeout(function () {
52            header.classList.add("visible");
53        }, 10); // 10ms gecikme
54    } else {
55        header.classList.remove("sticky", "visible");
56    }
57}
58
59$(document).ready(function () {
60    var $scrollContainer = $(".hlas-results-marquee-area");
61    var $scrollText = $(".hlas-results-list");
62    var scrollSpeed = 25; // Animasyon süresi (milisaniye)
63    var autoScrollActive = true;
64
65    function smoothScroll() {
66        if (autoScrollActive) {
67            var currentScroll = $scrollContainer.scrollLeft();
68            var scrollWidth = $scrollText.width();
69            var containerWidth = $scrollContainer.width();
70
71            if (currentScroll >= scrollWidth - containerWidth) {
72                $scrollContainer.animate(
73                    { scrollLeft: 0 },
74                    scrollSpeed,
75                    "linear",
76                    function () {
77                        smoothScroll();
78                    }
79                );
80            } else {
81                $scrollContainer.animate(
82                    { scrollLeft: currentScroll + 1 },
83                    scrollSpeed,
84                    "linear",
85                    function () {
86                        smoothScroll();
87                    }
88                );
89            }
90        }
91    }
92
93    function stopAutoScroll() {
94        autoScrollActive = false;
95        $scrollContainer.stop();
96    }
97
98    // Otomatik kaydırmayı başlat
99    function startAutoScroll() {
100        autoScrollActive = true;
101        smoothScroll();
102    }
103
104    $scrollContainer.on("mouseenter", function () {
105        stopAutoScroll();
106    });
107
108    $scrollContainer.on("mouseleave", function () {
109        startAutoScroll();
110    });
111
112    startAutoScroll();
113});
114
115function setLoadingState(button, isLoading) {
116    const spinner = button.querySelector(".spinner-border");
117
118    if (isLoading) {
119        spinner.classList.remove("d-none");
120        button.disabled = true;
121    } else {
122        spinner.classList.add("d-none");
123        button.disabled = false;
124    }
125}

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.