javascript - Additional Navigation bar on click -


i have navigation bar section "contracts" , wondering if possible, , how go adding additional navigation bar expand underneath when button tagged, (for example, on apple store site, when click product, adds bar)

apple navigation bar

i can provide entire css style sheet if needed! think require javascript i'm trying keep pure css now!

all appreciated!

html code: navigation html

<header>     <div class="title">         <img src="img/logo2.png"/>     </div>     <div class="navbar">         <ul>             <li style="float: left"><a href="#home">home</a></li>             <li><a href="#contact">contracts</a></li>             <li><a href="#about">about us</a></li>             <li><a href="#other">other</a></li>             <li> <a href="#release">release notes</a></li>             <li> <a target="_blank" href="http://www.phpartnership.com">pinnacle health partnership</a></li>         </ul>     </div> </header> 

creates this

my nav bar

css code: entire stylesheet

body {     background-color: #fff;     margin: 0;     font-family: arial;     color: #333; }  header {     background-color: #333;     position: fixed;     top: 0;     width: 100%; }  .navbar {     display: block;     text-align: center; }  .navbar ul {     list-style-type: none;     padding: 0;     margin: 0;     overflow: hidden; }   .navbar li {     display: inline-block;     vertical-align: middle;     -webkit-transform: translatez(0);     transform: translatez(0);     box-shadow: 0 0 1px rgba(0, 0, 0, 0);     -webkit-backface-visibility: hidden;     backface-visibility: hidden;     -moz-osx-font-smoothing: grayscale;     position: relative;     overflow: hidden; } .navbar li:before {     content: "";     position: absolute;     z-index: -1;     left: 50%;     right: 50%;     bottom: 0;     background: white;     height: 4px;     -webkit-transition-property: left, right;     transition-property: left, right;     -webkit-transition-duration: 0.3s;     transition-duration: 0.3s;     -webkit-transition-timing-function: ease-out;     transition-timing-function: ease-out; } .navbar li:hover:before, navbar li:focus:before, .navbar li:active:before {     left: 0;     right: 0; }  .navbar li {     padding: 25px;     display: block;     height: 100%;     color: white;     text-decoration: none; }  .title {     height: 80px;     padding: 2px;     background-color: #fff; }  .container {     margin-top: 150px;     padding-top: 50px; }  .home {     margin-top: 10px;     text-align: center;     padding: 40px !important; } .wrap {     width: 100%;     margin: 0 auto; } .left_col {     float: left;     width: 50%; } .right_col {     float: right;    width: 50%; } .right_col img {     width: 80%;     margin-top: 50px;     border: 2px solid black;     border-radius: 5px; } .left_col img {     width: 80%;     margin-top: 50px;     border: 2px solid black;     border-radius: 5px; } 

this javascript tried use hide , show div on click

<script> $(index.php).ready(function(){     ``$("#contract").click(function(){             $("<div class="contracts">").toggle();         }); }); </script> 

guess want smth : jsfiddle

first add jquery local environment use <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

add in head section of html. more info check how install jquery

added html inside .navbar

<ul class="aditional">      <li>test1</li>       <li>test2</li>       <li>test3</li>       <li>test4</li> </ul> 

added css :

.aditional { position:absolute; top:100%; width:100%; background:#000; display:none; } .aditional li { color:#fff; } 

added js :

$('.navbar ul li:nth-child(2) a').click(function() {           $(".aditional").slidetoggle() }); 

or if want more responsive solution

check :jsfiddle target

use data-target on li a this

<li><a href="#contact" data-target="contracts">contracts</a></li> <li><a href="#about" data-target="aboutus">about us</a></li> 

added html :

 <ul class="aditional contracts">      <li>test1</li>      <li>test2</li>      <li>test3</li>      <li>test4</li>  </ul>  <ul class="aditional aboutus">       <li>about</li>       <li>about</li>       <li>about</li>       <li>about</li>  </ul> 

jq added :

$('.navbar ul li a').click(function() {   $(".aditional").slideup()   var target = '.' + $(this).data('target');   $(target).slidedown(); }) 

or u can target href of li a. add

<li><a href="#contract">contracts</a></li> <li><a href="#about">about us</a></li> ------ <ul class="aditional" id ="contract"> .... <ul class="aditional" id ="about"> .... 

and js :

$('.navbar ul li a').click(function() { $(".aditional").slideup() var target = $(this).attr('href'); $(target).slidedown();  }) 

see here jsfiddle

one of these solutions should work . let me know


Comments

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

configurationsection - activeMq-5.13.3 setup configurations for wildfly 10.0.0 -