Jquery 切换背景色
在这里,我在单击链接时将导航栏的背景色从白色更改为黑色,我需要在松开链接时将导航栏恢复为白色背景Jquery 切换背景色,jquery,Jquery,在这里,我在单击链接时将导航栏的背景色从白色更改为黑色,我需要在松开链接时将导航栏恢复为白色背景 // Navigation dropdown start $(".navbar-header .dropdown .nav-link").click(function(e){ $(this).closest(".navbar-header").addClass("navbar-selected"); }); $(document).click(function(event)
// Navigation dropdown start
$(".navbar-header .dropdown .nav-link").click(function(e){
$(this).closest(".navbar-header").addClass("navbar-selected");
});
$(document).click(function(event){
$(".navbar-header").removeClass("navbar-selected");
});
// Navigation dropdown end
我需要这样做-您可以通过保存上一个目标并在此基础上添加/删除所选的
导航栏类来完成,如:
let previousTarget = null;
$(".navbar-header .dropdown .nav-link").click(function(e) {
if (this !== previousTarget) {
$(this).closest(".navbar-header").addClass("navbar-selected");
previousTarget = this;
} else {
$(this).closest(".navbar-header.navbar-selected").removeClass("navbar-selected");
previousTarget = null;
}
});
我根据帕拉什的反应来解释这一点。您只需根据类上是否有活动的类navbar
,添加和删除该类即可。我希望这是您正在寻找的用例。让我知道
当菜单打开或关闭时,您可以侦听从引导添加或删除类,如下所示:
$(".navbar-header").on('show.bs.dropdown', function(e) {
$(this).addClass("navbar-selected");
});
$(".navbar-header").on('hide.bs.dropdown', function() {
$(this).removeClass("navbar-selected");
})
您好Palash,谢谢您的回复,我尝试了“toggleClass”,但是,当我单击DD 1然后单击DD 2时,背景就起作用了。您的意思是说,当您单击DD 1然后再次单击时,它工作正常。但是,当您单击DD One然后单击DD Two时,导航栏所选的类仍应保留在那里,并且只有在再次单击DD Two时才会被删除?是的,正是这样:)谢谢,msg。这是我想要的。谢谢。谢谢大家。
$(".navbar-header").on('show.bs.dropdown', function(e) {
$(this).addClass("navbar-selected");
});
$(".navbar-header").on('hide.bs.dropdown', function() {
$(this).removeClass("navbar-selected");
})