子菜单在悬停时消失?粘贴/固定导航

时间:2016-01-21 15:11:31

标签: html css

我已经研究了很多这个问题的解决方案,但还没有找到适合我的解决方案。我有一个粘/固定导航。

当导航位于顶部时,子菜单不起作用。但是,一旦开始滚动,如果您返回导航,则子菜单会起作用。但如果你向上滚动到顶部,它就会停止工作。

首先,非常感谢你们所有人的帮助。我非常感谢任何需要时间回答这个问题或任何其他问题的人。



<script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
    	// Llamado cuando se cargue la página
		posicionarMenu();

		$(window).scroll(function() {    
		    posicionarMenu();
		});

		function posicionarMenu() {
		    //var altura_del_header = $('header').outerHeight(true);
			var altura_del_header = $('header').outerHeight(true);
		    var altura_del_menu = $('.navbar').outerHeight(true);
		    var altura_adminbar = $('#wpadminbar').outerHeight(true);

		    if ($(window).scrollTop() >= altura_del_header-altura_del_menu){
		        $('.navbar').addClass('fixed');
		        $('.navbar').css('top',(altura_adminbar)+'px');
		        $('.content').css('margin-top', (altura_del_menu-altura_adminbar) + 'px');
		    } else {
		        $('.navbar').removeClass('fixed');
		        $('.content').css('margin-top', '0');
		    }
		}
    </script>
&#13;
/**
 * 4.2 Navigation
 * ----------------------------------------------------------------------------
 */

.main-navigation {
	clear: both;
	min-height: 45px;
	position: relative;
	width: 950px;
	margin: 0 auto;
}

ul.nav-menu,
div.nav-menu > ul {
	margin-bottom: 0px;
	margin-top: 0px;
	background-color: none;
	font-weight: 500;
	position: relative;
	float: left;	
}

.nav-menu li {
	display:inline-block !important;
	position: relative;
}

.nav-menu li a {
	color: #fff;
        font-weight:900;
	display:block;
	font-family: 'raleway';
        font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 3px;
	padding: 18px 50px 18px 0px;
	text-decoration: none;
	text-align: left;
        line-height: 1;
	opacity: 1;
        -webkit-font-smoothing: antialiased;
        -moz-transition: all .2s ease-in;
        -o-transition: all .2s ease-in;
        -webkit-transition: all .2s ease-in;
         transition: all .2s ease-in;
}

.nav-menu li:hover > a,
.nav-menu li a:hover {
	color: #f286c3; 
        -webkit-font-smoothing: antialiased;

}

.nav-menu .sub-menu,
.nav-menu .children {
	background-color: transparent;
        display:none;
	border-top: 0;
	position: absolute;
	z-index:999999999;
        font-weight:600; 
	text-transform: uppercase;
        white-space: nowrap;
        overflow: hidden;
        line-height:1;
}

.nav-menu .sub-menu,
.nav-menu .children 
{

}



.nav-menu .sub-menu ul,
.nav-menu .children ul {
	border-left: 0;
	left: 100%;
	top: 0px;
}

ul.nav-menu ul a,
.nav-menu ul ul a {
        background-color: #000;
	color: #feeef9;
	margin: 0 auto;
        font-size:12px;
        text-align:center;
        font-weight:600; 
	text-transform: uppercase;
        white-space: nowrap;
        overflow: hidden;
        padding: 15px 15px;
}

ul.nav-menu ul a:hover,
.nav-menu ul ul a:hover {
	background-color: #777777;
	color: #feeef9;
        font-weight:600; 
}

ul.nav-menu li:hover > ul,
.nav-menu ul li:hover > ul {
	  display: block;
}

.nav-menu .current_page_item > a,
.nav-menu .current_page_ancestor > a,
.nav-menu .current-menu-item > a,
.nav-menu .current-menu-ancestor > a {
	color: #fff;
}

.menu-toggle {
	display: none;
}

.social-icons-widget{
	position: relative;
	float: right;
	text-align: left;
        margin-top:10px;
        margin-bottom:-10px;
}

aside#simple-social-icons-2{
	padding: 7px 0px 0px 0px;
}

/* Navbar */
.navbar {
	margin: 0 auto;
	width: 100%;
	background-color: #000;
	border-bottom: 2px dotted #c3c0ab;
        opacity:0.95;
}
&#13;
<div id="navbar" class="navbar">
				<nav id="site-navigation" class="navigation main-navigation" role="navigation">
					<h3 class="menu-toggle"><?php _e( 'Menu', 'twentythirteen' ); ?></h3>
					<a class="screen-reader-text skip-link" href="#content" title="<?php esc_attr_e( 'Skip to content', 'twentythirteen' ); ?>"><?php _e( 'Skip to content', 'twentythirteen' ); ?></a>
					<?php wp_nav_menu( array( 'theme_location' => 'primary', 'menu_class' => 'nav-menu' ) ); ?>
					
				<div class="social-icons-widget">
					<div id="social-widget"><?php if ( is_active_sidebar( 'social-footer' ) ) : dynamic_sidebar( 'social-footer' ); endif; ?></div>
				
				
				</div><!-- .widget-area -->
				
				
				<div class="searchbar">
					
					<div class="container">
					    <form class="searchbox">
					        <input type="search" placeholder="Search......" name="s" class="searchbox-input" onkeyup="buttonUp();" required>
					        <input type="submit" class="searchbox-submit" value="">
					        <span class="searchbox-icon"><img src="<?php bloginfo('template_directory') ?>/images/searchbar.png"></span>
					    </form>
					</div>
				</div>
					
				</nav><!-- #site-navigation -->
				
				
			
		</div><!-- #navbar -->
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

首先感谢所有评论的人。

在做了一些试验和错误之后,我发现了我的问题的解决方案。希望将解决方案发布给任何可能遇到固定/粘滞导航+ Wordpress问题的人。

简而言之,我不得不对导航栏进行更改,而不是子菜单或导航菜单。我的主要内容是覆盖子菜单下拉菜单。

我最后将以下内容添加到我的CSS中

      position: absolute;
      top:0px;
      z-index: 9999999;

所以现在修改了导航栏。它看起来像:

.navbar {
    margin: 0 auto;
    width: 100%;
    background-color: #000;
    border-bottom: 2px dotted #c3c0ab;
        opacity:0.95;
        position: absolute;
        top:0px;
        z-index: 9999999;
}