页面加载时我的导航栏闪烁着,真让我很烦。
我在某些页面上添加了一个类。
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被完全执行之前加载?