javascript - Wordpress 3 级水平导航 - 需要 jquery/javascript 帮助对齐

标签 javascript jquery css navigation

我一直在尝试实现 3 级水平导航,但我卡在了最后一个。我必须在最后一级使用绝对位置,因为将其设置为相对位置会将菜单项宽度绑定(bind)到父级的宽度,父级是第二级中的菜单项。

我对 javascript/jquery 不是很熟悉,但我想确保子元素始终位于父元素之下。

http://generatedesignstaging.com/safari/safaris/value-safaris/the-beast-retreat/

最佳答案

这是我想出的,而且效果很好。

jQuery(function($) {
    $(window).on('resize', function() {
    var submenu = jQuery('#top-menu').position().top+jQuery('#top-menu').outerHeight(true);
      jQuery('.sub-menu').css('top',submenu);

/** 3rd level navigation top position **/ 
var height_sm = jQuery('#top-menu').find('.sub-menu').outerHeight();
jQuery('.menu-item .menu-item > .sub-menu').css('top', height_sm);   

/** Maximum width of the page **/  
var container = $('#page-container').width(); 

/** Compute horizontal position of the 3rd menu **/ 
$('#top-menu').find('.sub-menu .menu-item-has-children').each(function() { 
    var item = $(this).children('.sub-menu').width(); 
    var position = $(this).position();
    var total = item + position.left; 
    if (total > container){
        var ofset = total-container; 
        var calc = position.left - ofset;  

        $(this).children('.sub-menu').css('left',calc);
    }
    else{
    $(this).children('.sub-menu').css('left',position.left);
}
}); 
    }).trigger('resize');
});

关于javascript - Wordpress 3 级水平导航 - 需要 jquery/javascript 帮助对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29311538/

相关文章:

javascript - 在重定向之前将 php 函数分配给同一页面内的变量 session 的更好方法

php - active class 如何实现分页

javascript - AngularJS 和 WebSockets : Callback function needs $scope. $apply() 工作

ajax - jsonp 调用中的错误仅来自 firefox-extension

javascript - 如何克隆 Angular UI 树中的节点?

javascript - 显示内容。主屏幕上内容的底部

css - 如何仅在DIV顶部制作阴影

css - CSS 中的 @font-face...可以吗?

javascript - 显示 : none is not working in ie alone it works in ff and chrome

javascript - chrome.tabs.create 在 Chrome 启动时不起作用