在导航菜单中创建汉堡菜单

时间:2017-06-14 17:31:27

标签: javascript html css hamburger-menu

我正在尝试在导航菜单中创建一个汉堡包菜单。我希望汉堡包菜单位于我的网站标题的左侧,然后我在右边有导航链接(如下例所示)。我在jsfiddle上制作了汉堡菜单并且它可以工作,但是我无法正确地将它添加到我的导航菜单中。当我尝试将其添加到我的网站时,汉堡包图标显示在导航之外,如果我点击该图标,则不显示任何内容。有没有人有任何解决方案如何解决这个问题?

汉堡菜单jsfiddle - https://jsfiddle.net/naucntq0/

我尝试做的例子...... enter image description here

的header.php



<?php
/**
 */

?>
<!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">
<link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">

<?php wp_head(); ?>
</head>

<body <?php body_class(); ?>>
    
<div id="ht-page"> 
<header id="ht-masthead" class="ht-site-header">
        <?php get_template_part( 'hamburgermenu' ); ?>
<div class="ht-container ht-clearfix">
<div id="ht-site-branding">
<?php 
if ( function_exists( 'has_custom_logo' ) && has_custom_logo() ) :
the_custom_logo();
else : 
if ( is_front_page() ) : ?>
<h1 class="ht-site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
<?php else : ?>
<p class="ht-site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></p>
<?php endif; ?>
<p class="ht-site-description"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'description' ); ?></a></p>
<?php endif; ?>
</div><!-- .site-branding -->

<nav id="ht-site-navigation" class="ht-main-navigation">
<div class="toggle-bar"><span></span></div>
<?php 
wp_nav_menu( array( 
'theme_location' => 'primary', 
'container_class' => 'ht-menu ht-clearfix' ,
'menu_class' => 'ht-clearfix',
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
) ); 
?>
</nav><!-- #ht-site-navigation -->
</div>
</header><!-- #ht-masthead -->
<div id="ht-content" class="ht-site-content ht-clearfix">
&#13;
&#13;
&#13;

hamburgermenu.php

&#13;
&#13;
<div id="hamburger-nav-icon">
              <span></span>
              <span></span>
              <span></span>
              <span></span>
            </div>

        <div id="hamburger-menu">
            <ul>
                <li><a href="#">Link1</a></li>
                <li><a href="#">Link2</a></li>
                <li><a href="#">Link3</a></li>
                <li><a href="#">Link4</a></li>
                <li><a href="#">Link5</a></li>
            </ul>
        </div>
&#13;
&#13;
&#13;

hamburgermenu.js

&#13;
&#13;
$(document).ready(function(){
	$('#hamburger-nav-icon').click(function(){
		$(this).toggleClass('open');
	  if($('#hamburger-menu').css('opacity') == '0'){
	    $('#hamburger-menu').css('opacity','1');
	    $('#hamburger-menu').fadeIn(300).css('display','table');
	  }else{
	    $('#hamburger-menu').css('opacity','0');
	    $('#hamburger-menu').fadeOut(300).css('display','none');
	  }
	});
});
&#13;
&#13;
&#13;

的functions.php

&#13;
&#13;
function hamburgermenu() {
 wp_enqueue_script( 'hamburger-menu', get_stylesheet_directory_uri() . '/js/hamburgermenu.js', array( 'jquery' ) );
 }
 add_action( 'wp_enqueue_scripts', 'hamburgermenu' );
&#13;
&#13;
&#13;

CSS

&#13;
&#13;
/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/

#ht-masthead{
background-color: #fff;
  height: 70px;
  border-bottom: 1px solid #eee;
  z-index: 99;
  transition: height 0.3s ease;
  -moz-transition: height 0.3s ease;
  -webkit-transition: height 0.3s ease;
  position: fixed;
  text-align: center;
  width: 0 auto;
  margin-right: 38px;
  width: 100%;
}
.ht-site-title{
font-family: 'futura_tbold';
    font-size: 24px;
    text-transform: uppercase;
letter-spacing: 6px;
        line-height: 1;
    margin-bottom: 8px;
    margin-top:5px;
    margin-left: 75px;
    text-align: left;
    float: left;

    padding: 15px 0;
transition: padding 0.3s ease;
-moz-transition: padding 0.3s ease;
-webkit-transition: padding 0.3s ease;
    width:20%;
}

.ht-site-title a{
text-decoration: none;
color: #000;
}
.ht-site-title a:hover{
text-decoration: none;
color: #000;
}
.ht-site-description{
color: #EEE;
margin: 0;
font-size: 15px;
font-style: italic;
line-height: 1;
}

.ht-site-description a{
color: #333;
}
/*--------------------------------------------------------------
## General
--------------------------------------------------------------*/
#ht-content {
    padding-top: 200px;
}
.ht-section {
  padding: 60px 0;
  background: #FFF;
}

.ht-section-title-tagline {
  margin-bottom: 60px;
  text-align: center;
}

.ht-section-title {
  font-weight: 400;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 36px;
  width: 60%;
  margin: 0 auto 15px;
}

.ht-section-title:last-child {
  margin-bottom: 0;
}

.ht-section-tagline {
  font-size: 20px;
  width: 70%;
  margin: 0 auto;
}

#ht-page {
  width: 100% !important;
  margin: 0 auto;
  max-width: 100% !important;
  overflow: hidden !important;
}


/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

#ht-site-navigation {
	float: right;
	width: 70%;
margin-top: -52px;
    margin-right:200px;
	transition: padding 0.3s ease;
	-moz-transition: padding 0.3s ease;
	-webkit-transition: padding 0.3s ease;
}

.ht-sticky #ht-site-navigation {
  padding: 17px 0;
}

.ht-main-navigation .ht-menu {}

.ht-main-navigation ul {
  list-style: none;
  margin: 0;
  padding-left: 0;
  display: inline-block;
  position: relative;
}

.ht-main-navigation li {
  float: left;
  margin-left: 30px;
}

.ht-main-navigation a {
  display: block;
  text-decoration: none;
  color: #000;
  text-transform: uppercase;
  font-size: 15px;
  font-family: 'Raleway', sans-serif;
  line-height: 36px;
  padding: 0 15px;
  font-weight: 600;
  letter-spacing: 2px;
  padding-bottom: 40px;
}

.ht-main-navigation ul ul {
  position: absolute;
  left: 0;
  top: 100%;
  background: #FFF;
  min-width: 200px;
 right:0;
  z-index: 999;
  padding: 8px;
  margin-top: -21px;
  box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.05);
    height:300px;
    transform: scaleY(0);
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    transform-origin: top;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    opacity: 0;
}

.ht-sticky .ht-main-navigation ul ul {
  margin-top: 17px;
}

.ht-main-navigation ul ul ul {
  left: 100%;
  top: 0;
  margin: 0 0 0 8px;
  border-top: 0;
}

.ht-sticky .ht-main-navigation ul ul ul {
  margin-top: 0;
}

.ht-main-navigation ul ul a {
  text-transform: uppercase;
  font-weight: 400;
  color: #444;
  line-height: 1.5;
  padding: 7px 25px;
  font-size: 12px;
 text-align: left;
}
.ht-main-navigation ul ul li:first-child {
    padding-top: 15px;
}
.ht-main-navigation ul ul li {
  float: none;
  margin: 0 0 5px;
}

.ht-main-navigation ul ul li:last-child {
  margin-bottom: 0;
}

.ht-main-navigation ul li:hover > ul {
  opacity: 1;
  transform: scaleY(1);
}
.page-template-home-template .ht-main-navigation .current_page_item > a,
.page-template-home-template .ht-main-navigation .current-menu-item > a,
.page-template-home-template .ht-main-navigation .current_page_ancestor > a,
.home.blog .ht-main-navigation .current_page_item > a,
.home.blog .ht-main-navigation .current-menu-item > a,
.home.blog .ht-main-navigation .current_page_ancestor > a {
  background: none;
  color: inherit;
}

.ht-main-navigation li:hover > a,
.page-template-home-template .ht-main-navigation li:hover > a,
.home.blog .ht-main-navigation li:hover > a,
.ht-main-navigation .current_page_item > a,
.ht-main-navigation .current-menu-item > a,
.ht-main-navigation .current_page_ancestor > a,
.page-template-home-template .ht-main-navigation .current > a,
.home.blog .ht-main-navigation .current > a {
  color: #000;
  text-decoration: none;
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 15px;
  overflow: hidden;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  float: left;
  width: 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}
.owl-item img{
    height: 256px;
    width:256px !important;
}
/*--------------------------------------------------------------
## Hamburger Menu
--------------------------------------------------------------*/
#hamburger-menu{
    z-index: 5;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0, 0.95);
    position: fixed;
    font-size: 1.5em;
    text-align: center;
    right: 0px;
    top: 0px;
    opacity: 0;
    display: table;
}

.hidden{
    display: none;
    visibility: none;
}

#hamburger-menu ul{
    margin: 0;
    padding: 0;
    z-index: 10;
    width: 100%;
    height: 100%;
    display: table-cell;
    vertical-align: middle;
}

#hamburger-menu ul li{
    cursor: pointer;
    text-decoration: none;
}

#hamburger-menu ul li:hover{
    background-color: #006973;
    -webkit-transition: .15s ease-in-out;
    -moz-transition: .15s ease-in-out;
    -o-transition: .15s ease-in-out;
    transition: .15s ease-in-out;
}

#hamburger-menu ul a{
    letter-spacing: 5px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    color: #fff;
    list-style: none;
    text-transform: uppercase;
    padding: 0px;
    line-height: 75px;
    padding: 10px 700px;
    text-decoration: none;
}

#hamburger-menu ul a:hover{
    text-decoration: none;
    color: #fff ;
}

#hamburger-nav-icon {
    z-index: 20;
  width: 50px;
  height: 35px;
  position: relative;
  margin: 35px 30px;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
}

#hamburger-nav-icon span {
  display: block;
  position: absolute;
  height: 5px;
  width: 40px;
  background: #bada33;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
}

/* Icon 3 */

#hamburger-nav-icon span:nth-child(1) {
  top: 0px;
}

#hamburger-nav-icon span:nth-child(2),#hamburger-nav-icon span:nth-child(3) {
  top: 12px;
}

#hamburger-nav-icon span:nth-child(4) {
  top: 24px;
}

#hamburger-nav-icon.open span:nth-child(1) {
  top: 8px;
  width: 0%;
  left: 50%;
}

#hamburger-nav-icon.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

#hamburger-nav-icon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#hamburger-nav-icon.open span:nth-child(4) {
  top: 8px;
  width: 0%;
  left: 50%;
}
&#13;
&#13;
&#13;

0 个答案:

没有答案