折叠不要删除 .open
Collapse dont remove .open
我有一个大问题。当我站在我网站的子页面上时,我希望我的 .active
在我的移动菜单中有 class open
,以便它在我的下拉菜单中打开。
我试过这个:
jQuery('.active').addClass('open');
jQuery('.active i').attr("aria-expanded","true");
它将这些 class 元素添加到我可以通过检查看到的元素中,但是只要我单击并激活移动菜单折叠,它就会再次删除那些 class 元素。我怎样才能防止这种情况发生?我可以看到这是 bootstrap.js
在崩溃时删除我的 classes。
这是我的解决方案
jQuery(function()
{
jQuery(".dropdown.active").on("hide.bs.dropdown",function(e) {
e.preventDefault();
return false;
});
jQuery('.mobilemenu .active').addClass('open');
jQuery('.mobilemenu .active i').attr("aria-expanded","true");
});
jQuery(".mobilemenu .active i").click(function(){
element = jQuery(".mobilemenu .active ul");
if (element.hasClass ("openz")) {
element.removeClass('openz');
} else {
element.addClass('openz');
}
});
};
而我的 .openz class 只有 display:none;像这样:
.openz {
display: none !important;
}
但是我无法让动画正常工作。我所有的其他元素都有一个 opacity:0 带有关闭时的过渡,但这只是关闭。我试图添加淡出,但发生的只是它等待 0.5 秒然后关闭,没有淡出效果,我做错了什么?我不能使用淡出效果吗?
我有一个大问题。当我站在我网站的子页面上时,我希望我的 .active
在我的移动菜单中有 class open
,以便它在我的下拉菜单中打开。
我试过这个:
jQuery('.active').addClass('open');
jQuery('.active i').attr("aria-expanded","true");
它将这些 class 元素添加到我可以通过检查看到的元素中,但是只要我单击并激活移动菜单折叠,它就会再次删除那些 class 元素。我怎样才能防止这种情况发生?我可以看到这是 bootstrap.js
在崩溃时删除我的 classes。
这是我的解决方案
jQuery(function()
{
jQuery(".dropdown.active").on("hide.bs.dropdown",function(e) {
e.preventDefault();
return false;
});
jQuery('.mobilemenu .active').addClass('open');
jQuery('.mobilemenu .active i').attr("aria-expanded","true");
});
jQuery(".mobilemenu .active i").click(function(){
element = jQuery(".mobilemenu .active ul");
if (element.hasClass ("openz")) {
element.removeClass('openz');
} else {
element.addClass('openz');
}
});
};
而我的 .openz class 只有 display:none;像这样:
.openz {
display: none !important;
}
但是我无法让动画正常工作。我所有的其他元素都有一个 opacity:0 带有关闭时的过渡,但这只是关闭。我试图添加淡出,但发生的只是它等待 0.5 秒然后关闭,没有淡出效果,我做错了什么?我不能使用淡出效果吗?