我遇到的問題是,在另一個選單中創建一個子選單。
演示:現場演示(重要,因為還需要 CSS
$(function () {
// Desktop Menu
var categoriesMenu = $(".list-ausbildung-categories li");
var triggerMenu = $(".dropdown-submenuSide");
var highlightsList = $(".list-ausbildung-highlights");
var submenuList = $(".list-ausbildung-submenu");
$('.list-ausbildung-categories').on('click', 'li', function () {
if( $(this).hasClass('active') ){
triggerMenu.removeClass('asg-gray-bg-200');
$(".dropdown-submenuSide .list-ausbildung-submenu ul").html('');
} else {
highlightsList.hide();
submenuList.show();
triggerMenu.addClass('asg-gray-bg-200');
$('li.active').removeClass('active');
$(this).addClass('active');
var subMenu = $(this).find(".dropdown-submenu").html();
$(".dropdown-submenuSide .list-ausbildung-submenu ul").html(subMenu);
}
});
$('.asg-megamenu div[class^="col"]:first-child').on('click', function () {
categoriesMenu.removeClass('active');
triggerMenu.removeClass('asg-gray-bg-200');
submenuList.hide();
highlightsList.show();
});
});
我有這個 Bootstrap Mega Menu,它還包含一個子選單(第 2 列)。單擊時,它應該隱藏第 3 列,并顯示子選單項。(它完成了它的作業)
目前,我正在使用 jquery html() 獲取子選單內容,然后將其放在第三列(可能不是最干凈的方法)。
問題:每當我關閉子選單并再次單擊時,它都不會重新打開。
uj5u.com熱心網友回復:
看起來目前,第二次單擊時沒有洗掉活動類。相反,它只是清除了第三列的 HTML。當我們隱藏子選單時,我們可以通過添加一行來洗掉活動類來解決這個問題。
if( $(this).hasClass('active') ){
$(this).removeClass('active'); // add in this line here so it will trigger properly on the next click
triggerMenu.removeClass('asg-gray-bg-200');
$(".dropdown-submenuSide .list-ausbildung-submenu ul").html('');
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/473119.html
標籤:javascript jQuery 推特引导
上一篇:覆寫引導字體大小
下一篇:將圖示與一行中的文本對齊
