jquery - Javascript One Page Fixed Header Responsive Slideup and Down -


i figured out how make header disappears upon click when viewing within mobile version disappears when you're not in mobile version. how make if it's not in mobile version, not disappear upon click?

html

    <header>     <div class="head_container">         <a href="#" class="logo"><h1>hello</h1></a>         <nav>             <a href="#" id="top_menu">hello</a>             <ul>                 <li><a href="#homepage">homepage</a></li>                 <li><a href="#contact">contact</a></li>                 <li><a href="#about">about</a></li>             </ul>         </nav>     </div>     <div class="clear"></div> </header> 

css desktop

nav {     margin: 0 auto;     float: right;     font: 14px arial, sans-serif;     position: relative; }  nav ul {     padding: 0;     margin: 0 auto; }  nav li {     display: inline-block;     float: left;     padding: 20px 0px; }  nav li {     padding: 8px 15px;     margin: 0 .15em;     border-bottom: 1px solid transparent; }  nav {     color: #000000;     display: inline-block;     text-decoration: none; }  nav a#top_menu {     display: none; }   nav a:hover, nav a:active {     color: #8148c1; } 

css mobile

nav {     float: none;     line-height: 60px; }  nav ul {     display: none;     height: auto; }  nav li {     display: block;     width: 100%;     float: none;     padding: 0; }  nav li {     border-bottom: 1px solid #ebebeb;     padding: 0; }  nav {     text-align: left;     width: 100%;     text-indent: 20px;     white-space: nowrap; }  nav a#top_menu {     display: block;     background-position: 20px 17px;     text-indent: -9999em;     position: relative;     width: 100%;     border-bottom: 1px solid transparent;    }  nav a#top_menu:after {     content:"";     background: url('../images/mini.png') no-repeat;     width: 30px;     height: 30px;     display: inline-block;     position: absolute;     right: 15px;     top: 15px; } 

javascript

$(function () {     menu = $("nav ul");     $(top_menu).click(function () {         if ($('nav ul').is(':visible')) {             menu.slideup()         } else {             menu.slidedown()         }     });      $('nav li a').click(function () {         menu.slideup()     }); }); 

you can check viewport width in javascript & make menu slide & down if mobile viewport.

this should work -

$(function () {     menu = $("nav ul");      var preferredmobileviewportwidth = "480"; /* can keep mobile media query width */     var viewportwidth = $(window).width();     var ismobile = false;      if(viewportwidth <= preferredmobileviewportwidth) {       ismobile = true;     }     $(top_menu).click(function () {         if(ismobile) {           if ($('nav ul').is(':visible')) {               menu.slideup()           } else {               menu.slidedown()           }         }     });      $('nav li a').click(function () {         if(ismobile) {          menu.slideup();         }     }); }); 

Comments

Popular posts from this blog

c++ - OpenCV Error: Assertion failed <scn == 3 ::scn == 4> in unknown function, -

php - render data via PDO::FETCH_FUNC vs loop -

The canvas has been tainted by cross-origin data in chrome only -