PageSourceSearch

https://afchub.org/js/bootsnav.js

js afchub.org collected 2026-10-02 12:00:36 UTC 39,710 bytes, 877 lines download raw bytes

1// ------------------------------------------------------------------------------ //
2//
3// Template name : Bootsnav - Multi Purpose Header
4// Categorie : Bootstrap Menu in CSS
5// Author : adamnurdin01
6// Version : v.1.2
7// Created : 2016-06-02
8// Last update : 2016-10-19
9//
10// ------------------------------------------------------------------------------ //
11
12(function ($) {
13    "use strict";
14
15    var bootsnav = {
16        initialize: function () {
17            this.event();
18            this.hoverDropdown();
19            this.navbarSticky();
20            this.navbarScrollspy();
21        },
22        event: function () {
23            // ------------------------------------------------------------------------------ //
24            // Variable
25            // ------------------------------------------------------------------------------ //
26            var getNav = $("nav.navbar.bootsnav");
27
28            // ------------------------------------------------------------------------------ //
29            // Navbar Sticky
30            // ------------------------------------------------------------------------------ //
31            var navSticky = getNav.hasClass("navbar-sticky");
32            if (navSticky) {
33                // Wraped navigation
34                getNav.wrap("<div class='wrap-sticky'></div>");
35            }
36
37            // ------------------------------------------------------------------------------ //
38            // Navbar Center
39            // ------------------------------------------------------------------------------ //
40            if (getNav.hasClass("brand-center")) {
41                var postsArr = new Array(),
42                    index = $("nav.brand-center"),
43                    $postsList = index.find("ul.navbar-nav");
44
45                index.prepend(
46                    "<span class='storage-name' style='display:none;'></span>"
47                );
48
49                //Create array of all posts in lists
50                index.find("ul.navbar-nav > li").each(function () {
51                    if ($(this).hasClass("active")) {
52                        var getElement = $("a", this).eq(0).text();
53                        $(".storage-name").html(getElement);
54                    }
55                    postsArr.push($(this).html());
56                });
57
58                //Split the array at this point. The original array is altered.
59                var firstList = postsArr.splice(
60                        0,
61                        Math.round(postsArr.length / 2)
62                    ),
63                    secondList = postsArr,
64                    ListHTML = "";
65
66                var createHTML = function (list) {
67                    ListHTML = "";
68                    for (var i = 0; i < list.length; i++) {
69                        ListHTML += "<li>" + list[i] + "</li>";
70                    }
71                };
72
73                //Generate HTML for first list
74                createHTML(firstList);
75                $postsList.html(ListHTML);
76                index.find("ul.nav").first().addClass("navbar-left");
77
78                //Generate HTML for second list
79                createHTML(secondList);
80                //Create new list after original one
81                $postsList
82                    .after('<ul class="nav navbar-nav"></ul>')
83                    .next()
84                    .html(ListHTML);
85                index.find("ul.nav").last().addClass("navbar-right");
86
87                //Wrap navigation menu
88                index
89                    .find("ul.nav.navbar-left")
90                    .wrap("<div class='col-half left'></div>");
91                index
92                    .find("ul.nav.navbar-right")
93                    .wrap("<div class='col-half right'></div>");
94
95                //Selection Class
96                index.find("ul.navbar-nav > li").each(function () {
97                    var dropDown = $("ul.dropdown-menu", this),
98                        //added for center logo header
99                        simpleMenu = $("ul.simple-dropdown", this),
100                        megaMenu = $("ul.megamenu-content", this);
101                    dropDown.closest("li").addClass("dropdown");
102                    simpleMenu.closest("li").addClass("simple-dropdown");
103                    megaMenu.closest("li").addClass("megamenu-fw");
104                });
105
106                var getName = $(".storage-name").html();
107                if (!getName == "") {
108                    $(
109                        "ul.navbar-nav > li:contains('" + getName + "')"
110                    ).addClass("active");
111                }
112            }
113
114            // ------------------------------------------------------------------------------ //
115            // Navbar Sidebar
116            // ------------------------------------------------------------------------------ //
117            if (getNav.hasClass("navbar-sidebar")) {
118                // Add Class to body
119                $("body").addClass("wrap-nav-sidebar");
120                getNav.wrapInner("<div class='scroller'></div>");
121            } else {
122                $(".bootsnav").addClass("on");
123            }
124
125            // ------------------------------------------------------------------------------ //
126            // Menu Center
127            // ------------------------------------------------------------------------------ //
128            if (getNav.find("ul.nav").hasClass("navbar-center")) {
129                getNav.addClass("menu-center");
130            }
131
132            // ------------------------------------------------------------------------------ //
133            // Navbar Full
134            // ------------------------------------------------------------------------------ //
135            if (getNav.hasClass("navbar-full")) {
136                // Add Class to body
137                $("nav.navbar.bootsnav")
138                    .find("ul.nav")
139                    .wrap("<div class='wrap-full-menu'></div>");
140                $(".wrap-full-menu").wrap("<div class='nav-full'></div>");
141                $("ul.nav.navbar-nav").prepend(
142                    "<li class='close-full-menu'><a href='#'><i class='fa fa-times'></i></a></li>"
143                );
144            } else if (getNav.hasClass("navbar-mobile")) {
145                getNav.removeClass("no-full");
146            } else {
147                getNav.addClass("no-full");
148            }
149
150            // ------------------------------------------------------------------------------ //
151            // Navbar Mobile
152            // ------------------------------------------------------------------------------ //
153            if (getNav.hasClass("navbar-mobile")) {
154                // Add Class to body
155                $(".navbar-collapse").on("shown.bs.collapse", function () {
156                    $("body").addClass("side-right");
157                });
158                $(".navbar-collapse").on("hide.bs.collapse", function () {
159                    $("body").removeClass("side-right");
160                });
161
162                $(window).on("resize", function () {
163                    $("body").removeClass("side-right");
164                });
165            }
166
167            // ------------------------------------------------------------------------------ //
168            // Navbar Fixed
169            // ------------------------------------------------------------------------------ //
170            if (getNav.hasClass("no-background")) {
171                $(window).on("scroll", function () {
172                    var scrollTop = $(window).scrollTop();
173                    if (scrollTop > 34) {
174                        $(".navbar-fixed").removeClass("no-background");
175                    } else {
176                        $(".navbar-fixed").addClass("no-background");
177                    }
178                });
179            }
180
181            // ------------------------------------------------------------------------------ //
182            // Navbar Fixed
183            // ------------------------------------------------------------------------------ //
184            if (getNav.hasClass("navbar-transparent")) {
185                $(window).on("scroll", function () {
186                    var scrollTop = $(window).scrollTop();
187                    if (scrollTop > 34) {
188                        $(".navbar-fixed").removeClass("navbar-transparent");
189                    } else {
190                        $(".navbar-fixed").addClass("navbar-transparent");
191                    }
192                });
193            }
194
195            // ------------------------------------------------------------------------------ //
196            // Button Cart
197            // ------------------------------------------------------------------------------ //
198            $(".btn-cart").on("click", function (e) {
199                e.stopPropagation();
200            });
201
202            // ------------------------------------------------------------------------------ //
203            // Toggle Search
204            // ------------------------------------------------------------------------------ //
205            $("nav.navbar.bootsnav .attr-nav").each(function () {
206                $("li.search > a", this).on("click", function (e) {
207                    e.preventDefault();
208                    $(".top-search").slideToggle();
209                });
210            });
211            $(".input-group-addon.close-search").on("click", function () {
212                $(".top-search").slideUp();
213            });
214
215            // ------------------------------------------------------------------------------ //
216            // Toggle Side Menu
217            // ------------------------------------------------------------------------------ //
218            $("nav.navbar.bootsnav .attr-nav").each(function () {
219                $("li.side-menu > a", this).on("click", function (e) {
220                    e.preventDefault();
221                    $("nav.navbar.bootsnav > .side").toggleClass("on");
222                    $("body").toggleClass("on-side");
223                });
224            });
225            $(".side .close-side").on("click", function (e) {
226                e.preventDefault();
227                $("nav.navbar.bootsnav > .side").removeClass("on");
228                $("body").removeClass("on-side");
229            });
230
231            // ------------------------------------------------------------------------------ //
232            // Wrapper
233            // ------------------------------------------------------------------------------ //
234            //$("body").wrapInner("<div class='wrapper'></div>");
235        },
236        // ------------------------------------------------------------------------------ //
237        // Change dropdown to hover on dekstop
238        // ------------------------------------------------------------------------------ //
239        hoverDropdown: function () {
240            var getNav = $("nav.navbar.bootsnav"),
241                getWindow = $(window).width(),
242                getHeight = $(window).height(),
243                getIn = getNav.find("ul.nav").data("in"),
244                getOut = getNav.find("ul.nav").data("out");
245
246            if (getWindow < 991) {
247                // Height of scroll navigation sidebar
248                $(".scroller").css("height", "auto");
249
250                // Disable mouseenter event
251                $("nav.navbar.bootsnav ul.nav")
252                    .find("li.dropdown")
253                    .off("mouseenter");
254                $("nav.navbar.bootsnav ul.nav")
255                    .find("li.dropdown")
256                    .off("mouseleave");
257                $("nav.navbar.bootsnav ul.nav")
258                    .find(".title")
259                    .off("mouseenter");
260                $("nav.navbar.bootsnav ul.nav").off("mouseleave");
261                $(".navbar-collapse").removeClass("animated");
262
263                // Enable click event
264                $("nav.navbar.bootsnav ul.nav").each(function () {
265                    $(".dropdown-menu", this).addClass("animated");
266                    $(".dropdown-menu", this).removeClass(getOut);
267
268                    // Dropdown Fade Toggle
269                    $("a.dropdown-toggle", this).off("click");
270                    $("a.dropdown-toggle", this).on("click", function (e) {
271                        e.stopPropagation();
272                        $(this)
273                            .closest("li.dropdown")
274                            .find(".dropdown-menu")
275                            .first()
276                            .stop()
277                            .fadeToggle()
278                            .toggleClass(getIn);
279                        $(this)
280                            .closest("li.dropdown")
281                            .first()
282                            .toggleClass("on");
283                        return true;
284                    });
285
286                    // Hidden dropdown action
287                    $("li.dropdown", this).each(function () {
288                        $(this).find(".dropdown-menu").stop().fadeOut("fast");
289                        $(this).on("hidden.bs.dropdown", function () {
290                            $(this)
291                                .find(".dropdown-menu")
292                                .stop()
293                                .fadeOut("fast");
294                        });
295                        return false;
296                    });
297
298                    // Megamenu style
299                    $(".megamenu-fw", this).each(function () {
300                        $(".col-menu", this).each(function () {
301                            $(".content", this).addClass("animated");
302                            $(".content", this).stop().fadeOut();
303                            $(".title", this).off("click");
304                            $(".title", this).on("click", function () {
305                                $(this)
306                                    .closest(".col-menu")
307                                    .find(".content")
308                                    .stop()
309                                    .fadeToggle("fast")
310                                    .addClass(getIn);
311                                $(this).closest(".col-menu").toggleClass("on");
312                                return false;
313                            });
314
315                            $(".content", this).on("click", function (e) {
316                                e.stopPropagation();
317                            });
318                        });
319                    });
320                });
321
322                // Hidden dropdown
323                var cleanOpen = function () {
324                    $("li.dropdown", this).removeClass("on");
325                    $(".dropdown-menu", this).stop().fadeOut("fast");
326                    $(".dropdown-menu", this).removeClass(getIn);
327                    $(".col-menu", this).removeClass("on");
328                    $(".col-menu .content", this).stop().fadeOut("fast");
329                    $(".col-menu .content", this).removeClass(getIn);
330                };
331
332                // Hidden om mouse leave
333                $("nav.navbar.bootsnav").on("mouseleave", function () {
334                    cleanOpen();
335                });
336
337                // Enable click atribute navigation
338                $("nav.navbar.bootsnav .attr-nav").each(function () {
339                    $(".dropdown-menu", this).removeClass("animated");
340                    $("li.dropdown", this).off("mouseenter");
341                    $("li.dropdown", this).off("mouseleave");
342                    $("a.dropdown-toggle", this).off("click");
343                    $("a.dropdown-toggle", this).on("click", function (e) {
344                        e.stopPropagation();
345                        $(this)
346                            .closest("li.dropdown")
347                            .find(".dropdown-menu")
348                            .first()
349                            .stop()
350                            .fadeToggle();
351                        $(".navbar-toggle").each(function () {
352                            $(".fa", this).removeClass("fa-times");
353                            $(".fa", this).addClass("fa-bars");
354                            $(".navbar-collapse").removeClass("in");
355                            $(".navbar-collapse").removeClass("on");
356                        });
357                    });
358
359                    $(this).on("mouseleave", function () {
360                        $(".dropdown-menu", this).stop().fadeOut();
361                        $("li.dropdown", this).removeClass("on");
362                        return false;
363                    });
364                });
365
366                // Toggle Bars
367                $(".navbar-toggle").each(function () {
368                    $(this).off("click");
369                    $(this).on("click", function () {
370                        $(".fa", this).toggleClass("fa-bars");
371                        $(".fa", this).toggleClass("fa-times");
372                        cleanOpen();
373                    });
374                });
375            } else if (getWindow > 991) {
376                // Height of scroll navigation sidebar
377                $(".scroller").css("height", getHeight + "px");
378
379                // Navbar Sidebar
380                if (getNav.hasClass("navbar-sidebar")) {
381                    // Hover effect Sidebar Menu
382                    $("nav.navbar.bootsnav ul.nav").each(function () {
383                        $("a.dropdown-toggle", this).off("click");
384                        $("a.dropdown-toggle", this).on("click", function (e) {
385                            e.stopPropagation();
386                        });
387
388                        $(".dropdown-menu", this).addClass("animated");
389                        $("li.dropdown", this).on("mouseenter", function () {
390                            $(".dropdown-menu", this).eq(0).removeClass(getOut);
391                            $(".dropdown-menu", this)
392                                .eq(0)
393                                .stop()
394                                .fadeIn("fast")
395                                .addClass(getIn);
396                            $(this).addClass("on");
397                            return false;
398                        });
399
400                        $(".col-menu").each(function () {
401                            $(".content", this).addClass("animated");
402                            $(".title", this).on("mouseenter", function () {
403                                $(this)
404                                    .closest(".col-menu")
405                                    .find(".content")
406                                    .stop()
407                                    .fadeIn("fast")
408                                    .addClass(getIn);
409                                $(this).closest(".col-menu").addClass("on");
410                                return false;
411                            });
412                        });
413
414                        $(this).on("mouseleave", function () {
415                            $(".dropdown-menu", this).stop().removeClass(getIn);
416                            $(".dropdown-menu", this)
417                                .stop()
418                                .addClass(getOut)
419                                .fadeOut("fast");
420                            $(".col-menu", this)
421                                .find(".content")
422                                .stop()
423                                .fadeOut("fast")
424                                .removeClass(getIn);
425                            $(".col-menu", this).removeClass("on");
426                            $("li.dropdown", this).removeClass("on");
427                            return false;
428                        });
429                    });
430                } else {
431                    var isSafari = !!navigator.userAgent.match(
432                        /Version\/[\d\.]+.*Safari/
433                    );
434
435                    // Hover effect Default Menu
436                    $("nav.navbar.bootsnav ul.nav").each(function () {
437                        $("a.dropdown-toggle", this).off("click");
438                        $("a.dropdown-toggle", this).on("click", function (e) {
439                            e.stopPropagation();
440                        });
441
442                        $(".megamenu-fw", this).each(function () {
443                            $(".title", this).off("click");
444                            $("a.dropdown-toggle", this).off("click");
445                            $(".content").removeClass("animated");
446                        });
447
448                        $(".dropdown-menu", this).addClass("animated");
449
450                        // user hover on single menu then hide its sibling children menu
451                        if (
452                            $(".navbar-left-sidebar").length > 0 ||
453                            $(".left-nav-sidebar").length > 0
454                        ) {
455                            $("li:not(.dropdown)", this).on(
456                                "mouseenter",
457                                function () {
458                                    $(this)
459                                        .parent()
460                                        .find(".dropdown-menu")
461                                        .stop()
462                                        .fadeOut("fast");
463                                }
464                            );
465
466                            $(document).on(
467                                "click",
468                                ".side-left-menu-close.active",
469                                function (e) {
470                                    $(this).removeClass("active");
471                                }
472                            );
473                        }
474
475                        $("li.dropdown", this).on("mouseenter", function () {
476                            var _this = this;
477
478                            $(".side-left-menu-close").addClass("active");
479
480                            if (
481                                $(".navbar-left-sidebar").length > 0 ||
482                                $(".left-nav-sidebar").length > 0
483                            ) {
484                                $(this)
485                                    .parent()
486                                    .find(".dropdown")
487                                    .removeClass("on");
488                                if (
489                                    $(this).parents(".dropdown-menu").length > 0
490                                ) {
491                                    // child
492                                    $(this)
493                                        .parents(".dropdown-menu")
494                                        .find(".dropdown-menu")
495                                        .not($(".dropdown-menu", this))
496                                        .stop()
497                                        .fadeOut("fast");
498                                } else {
499                                    // main
500                                    $(this)
501                                        .parents(".bootsnav .nav")
502                                        .find(".dropdown-menu")
503                                        .not($(".dropdown-menu", this))
504                                        .stop()
505                                        .fadeOut("fast");
506                                    $(":not(.second-level)", this)
507                                        .find(".third-level")
508                                        .stop()
509                                        .fadeOut("fast");
510                                }
511
512                                if ($(this).parent().hasClass("second-level")) {
513                                    $(this)
514                                        .parents(".navbar-nav")
515                                        .addClass("enter");
516                                } else if ($(this).parent().hasClass("enter")) {
517                                    $(".navbar-nav").removeClass("enter");
518                                }
519                            }
520
521                            $(".dropdown-menu", this).eq(0).removeClass(getOut);
522                            if (isSafari)
523                                $(".dropdown-menu", _this)
524                                    .eq(0)
525                                    .stop()
526                                    .fadeIn("fast")
527                                    .addClass(getIn);
528                            else
529                                $(".dropdown-menu", _this)
530                                    .eq(0)
531                                    .stop()
532                                    .fadeIn("fast")
533                                    .addClass(getIn);
534                            $(this).addClass("on");
535
536                            if (
537                                $(".navbar-left-sidebar").length > 0 ||
538                                $(".left-nav-sidebar").length > 0
539                            ) {
540                                if ($(".left-nav-sidebar").length > 0) {
541                                    var menu_width =
542                                        $(".sidebar-part1").outerWidth();
543                                    menu_width = menu_width + 20;
544                                    menu_width =
545                                        menu_width +
546                                        $(
547                                            ".left-nav-on .navbar-nav"
548                                        ).outerWidth();
549                                } else {
550                                    var menu_width =
551                                        $(".navbar-nav").outerWidth();
552                                }
553
554                                var mainWidth = $(window).width();
555                                setTimeout(function () {
556                                    $(".dropdown").each(function () {
557                                        if ($(this).hasClass("on")) {
558                                            menu_width =
559                                                menu_width +
560                                                $(
561                                                    ".dropdown-menu li",
562                                                    this
563                                                ).outerWidth();
564                                        }
565                                    });
566                                    $(".side-left-menu-close").width(
567                                        mainWidth - menu_width
568                                    );
569                                }, 300);
570                            }
571                            return false;
572                        });
573
574                        $("li.dropdown", this).on("mouseleave", function () {
575                            $(".dropdown-menu", this).eq(0).removeClass(getIn);
576
577                            if (
578                                $(".dropdown-menu", this).css("display") ==
579                                    "none" ||
580                                !(
581                                    $(".navbar-left-sidebar").length > 0 ||
582                                    $(".left-nav-sidebar").length > 0
583                                ) ||
584                                $(this)
585                                    .parents(".bootsnav .nav")
586                                    .hasClass("enter")
587                            ) {
588                                if (isSafari)
589                                    $(".dropdown-menu", this)
590                                        .eq(0)
591                                        .stop()
592                                        .fadeOut("fast")
593                                        .addClass(getOut);
594                                else
595                                    $(".dropdown-menu", this)
596                                        .eq(0)
597                                        .stop()
598                                        .fadeOut("fast")
599                                        .addClass(getOut);
600
601                                $(this).removeClass("on");
602                            }
603
604                            if (
605                                $(".navbar-left-sidebar").length > 0 ||
606                                $(".left-nav-sidebar").length > 0
607                            ) {
608                                $(".side-left-menu-close").addClass("active");
609
610                                if ($(".left-nav-sidebar").length > 0) {
611                                    var menu_width =
612                                        $(".sidebar-part1").outerWidth();
613                                    menu_width = menu_width + 20;
614                                    menu_width =
615                                        menu_width +
616                                        $(
617                                            ".left-nav-on .navbar-nav"
618                                        ).outerWidth();
619                                } else {
620                                    var menu_width =
621                                        $(".navbar-nav").outerWidth();
622                                }
623
624                                var mainWidth = $(window).width();
625                                setTimeout(function () {
626                                    $(".dropdown").each(function () {
627                                        if ($(this).hasClass("on")) {
628                                            menu_width =
629                                                menu_width +
630                                                $(
631                                                    ".dropdown-menu li",
632                                                    this
633                                                ).outerWidth();
634                                        }
635                                    });
636                                    $(".side-left-menu-close").width(
637                                        mainWidth - menu_width
638                                    );
639                                }, 300);
640                            }
641                        });
642
643                        $(this).on("mouseleave", function () {
644                            $(".dropdown-menu", this).removeClass(getIn);
645                            $(".side-left-menu-close").removeClass("active");
646
647                            if (isSafari)
648                                $(".dropdown-menu", this)
649                                    .eq(0)
650                                    .stop()
651                                    .fadeOut("fast")
652                                    .addClass(getOut);
653                            else
654                                $(".dropdown-menu", this)
655                                    .eq(0)
656                                    .stop()
657                                    .fadeOut("fast")
658                                    .addClass(getOut);
659                            $("li.dropdown", this).removeClass("on");
660
661                            if (
662                                $(".navbar-left-sidebar").length > 0 ||
663                                $(".left-nav-sidebar").length > 0
664                            ) {
665                                if ($(".bootsnav .nav").hasClass("enter")) {
666                                    $(".bootsnav .nav").removeClass("enter");
667                                } else {
668                                    $(".bootsnav .nav")
669                                        .find(".dropdown-menu")
670                                        .fadeOut("fast");
671                                }
672                            }
673
674                            return false;
675                        });
676                    });
677                }
678
679                // ------------------------------------------------------------------------------ //
680                // Hover effect Atribute Navigation
681                // ------------------------------------------------------------------------------ //
682                $("nav.navbar.bootsnav .attr-nav").each(function () {
683                    $("a.dropdown-toggle", this).off("click");
684                    $("a.dropdown-toggle", this).on("click", function (e) {
685                        e.stopPropagation();
686                    });
687
688                    $(".dropdown-menu", this).addClass("animated");
689                    $("li.dropdown", this).on("mouseenter", function () {
690                        $(".dropdown-menu", this).eq(0).removeClass(getOut);
691                        $(".dropdown-menu", this)
692                            .eq(0)
693                            .stop()
694                            .fadeIn("fast")
695                            .addClass(getIn);
696                        $(this).addClass("on");
697                        return false;
698                    });
699
700                    $("li.dropdown", this).on("mouseleave", function () {
701                        $(".dropdown-menu", this).eq(0).removeClass(getIn);
702                        $(".dropdown-menu", this)
703                            .eq(0)
704                            .stop()
705                            .fadeOut("fast")
706                            .addClass(getOut);
707                        $(this).removeClass("on");
708                    });
709
710                    $(this).on("mouseleave", function () {
711                        $(".dropdown-menu", this).removeClass(getIn);
712                        $(".dropdown-menu", this)
713                            .eq(0)
714                            .stop()
715                            .fadeOut("fast")
716                            .addClass(getOut);
717                        $("li.dropdown", this).removeClass("on");
718                        return false;
719                    });
720                });
721            }
722
723            // ------------------------------------------------------------------------------ //
724            // Menu Fullscreen
725            // ------------------------------------------------------------------------------ //
726            if (getNav.hasClass("navbar-full")) {
727                var windowHeight = $(window).height(),
728                    windowWidth = $(window).width();
729
730                $(".nav-full").css("height", windowHeight + "px");
731                $(".wrap-full-menu").css("height", windowHeight + "px");
732                $(".wrap-full-menu").css("width", windowWidth + "px");
733
734                $(".navbar-collapse").addClass("animated");
735                $(".navbar-toggle").each(function () {
736                    var getId = $(this).data("target");
737                    $(this).off("click");
738                    $(this).on("click", function (e) {
739                        e.preventDefault();
740                        $(getId).removeClass(getOut);
741                        $(getId).addClass("in");
742                        $(getId).addClass(getIn);
743                        return false;
744                    });
745
746                    $("li.close-full-menu").on("click", function (e) {
747                        e.preventDefault();
748                        $(getId).addClass(getOut);
749                        setTimeout(function () {
750                            $(getId).removeClass("in");
751                            $(getId).removeClass(getIn);
752                        }, 500);
753                        return false;
754                    });
755                });
756            }
757        },
758        // ------------------------------------------------------------------------------ //
759        // Navbar Sticky
760        // ------------------------------------------------------------------------------ //
761        navbarSticky: function () {
762            var getNav = $("nav.navbar.bootsnav"),
763                navSticky = getNav.hasClass("navbar-sticky");
764
765            if (navSticky) {
766                // Set Height Navigation
767                var getHeight = getNav.height();
768                $(".wrap-sticky").height(getHeight);
769
770                // Windown on scroll
771                var getOffset = $(".wrap-sticky").offset().top;
772                $(window).on("scroll", function () {
773                    var scrollTop = $(window).scrollTop();
774                    if (scrollTop > getOffset) {
775                        getNav.addClass("sticked");
776                    } else {
777                        getNav.removeClass("sticked");
778                    }
779                });
780            }
781        },
782        // ------------------------------------------------------------------------------ //
783        // Navbar Scrollspy
784        // ------------------------------------------------------------------------------ //
785        navbarScrollspy: function () {
786            var navScrollSpy = $(".navbar-scrollspy"),
787                $body = $("body"),
788                getNav = $("nav.navbar.bootsnav"),
789                offset = getNav.outerHeight();
790
791            if (navScrollSpy.length) {
792                $body.scrollspy({ target: ".navbar", offset: offset });
793
794                // Animation Scrollspy
795                $(".scroll").on("click", function (event) {
796                    event.preventDefault();
797
798                    // Active link
799                    $(".scroll").removeClass("active");
800                    $(this).addClass("active");
801
802                    // Remove navbar collapse
803                    $(".navbar-collapse").removeClass("in");
804
805                    // Toggle Bars
806                    $(".navbar-toggle").each(function () {
807                        $(".fa", this).removeClass("fa-times");
808                        $(".fa", this).addClass("fa-bars");
809                    });
810
811                    // Scroll
812                    var scrollTop = $(window).scrollTop(),
813                        $anchor = $(this).find("a"),
814                        $section = $($anchor.attr("href")).offset().top,
815                        $window = $(window).width(),
816                        $minusDesktop = getNav.data("minus-value-desktop"),
817                        $minusMobile = getNav.data("minus-value-mobile"),
818                        $speed = getNav.data("speed");
819
820                    if ($window > 992) {
821                        var $position = $section - $minusDesktop;
822                    } else {
823                        var $position = $section - $minusMobile;
824                    }
825
826                    $("html, body").stop().animate(
827                        {
828                            scrollTop: $position,
829                        },
830                        $speed
831                    );
832                });
833
834                // Activate Navigation
835                var fixSpy = function () {
836                    var data = $body.data("bs.scrollspy");
837                    if (data) {
838                        offset = getNav.outerHeight();
839                        data.options.offset = offset;
840                        $body.data("bs.scrollspy", data);
841                        $body.scrollspy("refresh");
842                    }
843                };
844
845                // Activate Navigation on resize
846                var resizeTimer;
847                $(window).on("resize", function () {
848                    clearTimeout(resizeTimer);
849                    var resizeTimer = setTimeout(fixSpy, 200);
850                });
851            }
852        },
853    };
854
855    // Initialize
856    $(document).ready(function () {
857        bootsnav.initialize();
858    });
859
860    // Reset on resize
861    $(window).on("resize", function () {
862        bootsnav.hoverDropdown();
863        setTimeout(function () {
864            bootsnav.navbarSticky();
865        }, 500);
866
867        // Toggle Bars
868        $(".navbar-toggle").each(function () {
869            $(".fa", this).removeClass("fa-times");
870            $(".fa", this).addClass("fa-bars");
871            $(this).removeClass("fixed");
872        });
873        $(".navbar-collapse").removeClass("in");
874        $(".navbar-collapse").removeClass("on");
875        $(".navbar-collapse").removeClass("bounceIn");
876    });
877})(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.