防止导航栏在加载时闪烁

时间:2020-06-03 05:02:45

标签: javascript html jquery

页面加载时我的导航栏闪烁着,真让我很烦。

我在某些页面上添加了一个类。

if ($("#quicksearch-section").length) {
        $(".miranda-wrapper").css("padding-top", "0px !important");
        $(".hoz-inside").addClass("clearnav");
        $(".logo").addClass("clearnav");
        $(".top-nav a").addClass("clearnav");
        $(".user-info span").addClass("clearnav");
        $(".top-nav").addClass("clearnav");
        $(".top-nav i").addClass("clearnav");
        $(".user-contact-icons").addClass("clearnav");
        $(".user-info").addClass("clearnav");

            $(window).scroll(function () {
                var scroll = $(window).scrollTop();

                if (scroll >= 100) {
                    $(".hoz-inside").removeClass("clearnav");
                    $(".logo").removeClass("clearnav");
                    $(".top-nav a").removeClass("clearnav");
                    $(".user-info span").removeClass("clearnav");
                    $(".top-nav").removeClass("clearnav");
                    $(".top-nav i").removeClass("clearnav");
                    $(".user-contact-icons").removeClass("clearnav");
                    $(".user-info").removeClass("clearnav");
                    $(".user-contact-icons").addClass("navshadow");
                    $("nav.top-nav").addClass("navshadow");
                } else if (scroll <= 100) {
                    $(".miranda-wrapper").addClass("clearnav");
                    $(".hoz-inside").addClass("clearnav");
                    $(".logo").addClass("clearnav");
                    $(".top-nav a").addClass("clearnav");
                    $(".user-info span").addClass("clearnav");
                    $(".top-nav").addClass("clearnav");
                    $(".top-nav i").addClass("clearnav");
                    $(".user-contact-icons").addClass("clearnav");
                    $(".user-info").addClass("clearnav");
                    $(".user-contact-icons").removeClass("navshadow");
                    $("nav.top-nav").removeClass("navshadow");

                }
            });
    }

但是它显示了旧的导航栏,然后显示了添加了新类的新导航栏。在完全执行此代码之前,如何防止页面加载?奇怪的是,当代码位于文件的更下方时,此代码也无法工作,只有当我将其放在顶部时,才可以。该JS文件也位于网站的顶部。

此外,使它起作用的唯一方法是当它位于其中时:

document['addEventListener']('DOMContentLoaded', function () {}

我了解这将使代码在页面加载后运行,但是有没有办法防止页面在JS被完全执行之前加载?

0 个答案:

没有答案