1. ¡OFERTA! con cupón "DIRVPS": hosting por $0,01 y también VPS Linux y Windows por $0,01 el primer mes por Interserver ← publi
    Descartar aviso
Descartar aviso
Al usar este sitio web, aceptas que nosotros y nuestros socios podamos establecer cookies para fines tales como personalizar el contenido y la publicidad. Más información.

JavaScript - Barra de navegación desparece

Tema en 'Programación y Diseño Web' iniciado por afmendez, 2 Abr 2017.

  1. afmendez

    afmendez Nuevo usuario

    Buenas tardes, tengo un problema, cuando en el navegador de un pc, en este caso chrome, reduzco la pantalla y comienzan a actuar los media query, el menu pasa de extendido en posicion fija a desplegable en posición absoluta.

    El problema viene al volver a pantalla completa, el menu desaparece y hay que refrescar para que aparezca. Es importante que cuando esté en desplegable pinchar en el menu para que se despliegue, solo entonces ocurre el error al volver a pantalla completa (creo que es por que ha entrado en accion el script...) Esta es la web, no se si me he explicado bien...

    www.en-estudio.com

    Y aquí el código donde puede estar la solución:

    HTML ------------------------------------------------

    <header>
    <div class="menu_bar">
    <a href="#" class="bt-menu"><span class="icon-menu"></span>Menu</a>
    </div>
    <nav class="navegacion2">
    <ul>
    <li class="inicio"><a href="./index.html" id="pagactual"><span class="icon-home"></span><span id="linea">Inicio</span></a></li>
    <li><a href="./portfolio.html"><span class="icon-pen"></span><span id="linea">Portfolio</span></a></li>
    <li><a href="./servicios.html"><span class="icon-wrench"></span><span id="linea">Servicios</span></a></li>
    <li><a href="./acercade.html"><span class="icon-profile"></span><span id="linea">Acerca de</span></a></li>
    <li><a href="./contacta.html"><span class="icon-mobile2"></span><span id="linea">Contacto</span></a></li>
    </ul>
    </nav>
    </header>

    CSS -------------------------------------------------------------------------


    nav.navegacion2 {
    position: fixed;
    width:1170px;
    margin: 0px auto;
    background: #000;
    z-index: 2;
    }

    .menu_bar {
    width: 100%;
    display: none;
    }

    nav ul {
    position: relative;
    text-align: center;
    width: 650px;
    margin: 0px auto;
    overflow:hidden;
    list-style:none;
    padding:15px 0px 15px 0px;
    }

    nav ul li {
    float:left;
    border-width: 0px 0px 0px 1px;
    border-color: #fff;
    border-style: solid;
    }

    nav ul li.inicio {
    border-left: 0px;
    }

    nav ul li a {
    font-family: 'Exo', sans-serif;
    color:#fff;
    margin: 0px 20px 0px 20px;
    display:block;
    text-decoration:none;
    font-size: 14px;
    }

    nav ul li span {
    margin-right:10px;
    }

    li a#pagactual {
    color: #536879;
    font-size: 16px;
    }

    /* Para que aparezca la linea de abajo de los elementos de navegacion */

    nav ul li a span#linea{
    position: relative;
    }

    nav ul li a span#linea:after{
    position: absolute;
    bottom: 7px;
    left: 0px;
    width: 100%;
    height: 1px;
    background-color: #536879;
    content: "";
    opacity: 0;
    transition: opacity 0.3s ease 0s, transform 0.3s ease 0s;
    transform: translateY(25px);
    }

    nav ul li a span#linea:hover:after{
    opacity:1;
    transform: translateY(8px);
    }

    nav ul li a:hover{
    color: #536879;
    }

    @media screen and (max-width:800px ) {

    nav.navegacion2 {
    position: absolute;
    text-align: center;
    width: 100%;
    height: 215px;
    left: -100%;
    margin: 0;
    padding-top: 50px;
    }

    nav ul {
    position: relative;
    text-align: center;
    width: 150px;
    text-align: left;
    margin: 0px auto;
    }

    nav ul li {
    display: block;
    float: none;
    margin-bottom: 23px;
    border-width: 0px;
    }


    .menu_bar {
    position: absolute;
    font-family: 'Exo', sans-serif;
    display: block;
    width: 100%;
    background: #000;
    z-index: 3;
    }

    .menu_bar .bt-menu {
    display: block;
    padding: 10px 20px 10px 10px;
    background: #000;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 20px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    }

    .menu_bar span {
    margin: 0px 10px 0px 10px;
    font-size: 20px;
    }

    .menu_bar a {
    position: relative;
    text-align: center;
    margin: 0px auto;
    font-size: 20px;
    }

    JQUERY ----------------------------------------------------------------------------------

    /* Navegación desplegable */

    $(document).ready(main);

    var contador = 1;

    function main(){
    $('.menu_bar').click(function(){
    // $('nav').toggle();

    if(contador == 1){
    $('nav').animate({
    left: '0'
    });
    contador = 0;
    } else {
    contador = 1;
    $('nav').animate({
    left: '-100%'
    });
    }

    });

    };

    --------------------------------------------

    Gracias!
     
  2.  
  3. Sphyr0

    Sphyr0 Usuario activo

    La pregunta del millón es... Por qué o para qué reduces la pantalla?
     
  4. afmendez

    afmendez Nuevo usuario

    Sphyr0, a mi no me hace falta, pero imaginate que alguien la abre desde un navegador reducido y decide maximizar, no me puedo permitir que le desaparezca el menu por razones obvias, eso es un fallo, se que es dificil que pase pero no es procedente...
     
  5. afmendez

    afmendez Nuevo usuario

    Me han propuesto esto y funciona! :D

    $(document).ready(function() {

    var contador = 1;

    function main() {
    $('.menu_bar').click(function() {
    if (contador == 1) {
    $('nav').animate({
    left: '0'
    });
    contador = 0;
    } else {
    contador = 1;
    $('nav').animate({
    left: '-100%'
    });
    }
    });
    };

    $(window).on('resize', function() {
    var visible = $('.menu_bar').css('display');
    if (visible === 'none') {
    $('nav.navegacion2').css('left', 'auto');
    } else {
    $('nav.navegacion2').css('left', '-100%');
    }
    });

    main();

    });
     
  6. badger

    badger Usuario activo

    Algo tan básico como el menú debería funcionar sin necesidad de javascript.
     


Alojamiento web, Hosting Reseller, Servidores Dedicados - All in Hosting


    
    
    
    
Blog · Sitios amigos: GuiaHosting · Unidominios · Interalta ·