我想做的是从“画布”菜单中获取下拉菜单的高度,并将其设置为UL,以便覆盖菜单当前所在的高度。因此,如果下拉菜单的高度较长,则其所在的div应该会扩展,并且始终应显示边框底部。
如果单击几次Corporate,然后单击SME,然后返回Corporate,则企业下拉菜单位于DIV的顶部和高度,并且高度不会重置。在讲解内容方面我很不好,所以请看这里的网站:Site URL
这是jQuery
// SLIDE OUT MENU
$(".menu-blue-bar button").on("click", function(e) {
$(".menu-blue-bar").toggleClass("menu-slide");
$(".menu-blue-bar button").toggleClass("is-active");
$(".menu-blue-bar .fade-in-menu .row").toggleClass("in-view");
e.preventDefault();
});
jQuery(
"<li class='back-button'><i class='icon icon-carousel-left-arrow'></i></li>"
).insertBefore(
".menu-blue-bar .main-menu-links .dropdown-menu li:first-child"
);
jQuery("li.back-button").on("click", function() {
jQuery(".menu-blue-bar ul.dropdown-menu").removeClass("show");
jQuery("ul.navbar-nav").css("height", "");
console.log("clicked back arrow");
});
jQuery(".menu-blue-bar .navbar-nav > li.dropdown").on("click", function() {
if (!$(".menu-blue-bar ul.dropdown-menu").hasClass("show")) {
$(".main-menu-links ul.navbar-nav").css({
height:
$(this)
.find("ul.dropdown-menu")
.height() + "px"
});
}
});
屏幕截图:screenshot link
答案 0 :(得分:0)
“重置” height
jQuery("ul.navbar-nav").css("height", "");
在CSS中不是有效的单位大小。
相反,尝试将高度设置为0或initial
jQuery("ul.navbar-nav").css("height", "initial");
此外,单词height
应该是一个字符串(添加引号)。
这个
$(".main-menu-links ul.navbar-nav").css({
height:
$(this)
.find("ul.dropdown-menu")
.height() + "px"
});
应该
$(".main-menu-links ul.navbar-nav").css({
"height":
$(this)
.find("ul.dropdown-menu")
.height() + "px"
});
可能还有更多,但从此开始。