[Javascript] far scomparire il menu al click

MartinaWeb_D

Nuovo Utente
22 Giu 2017
1
0
1
31
Ciao a tutti sono una nuova frequentatrice del forum e del web design. Sto mettendo su il mio sito personale e sono giorni che impazzisco con gli script perché purtroppo non ho avuto molto tempo per studiare javascript e ammetto che attualmente NON CI CAPISCO UN TUBO.

premessa: sto usando bootstrap.

Il sito in pratica prevede un menu icon in alto a destra quindi un menu in collapse fisso, anche alla grandezza large device. Avevo costruito il tutto in html e css senza usare script e senza usare il menu icon ma usando le classi di bootstrap per la nav e cambiando la mediaquery per far comparire il menu in collapse ad lg impostando la larghezza minima a 0px. Il problema è che nell' header il menu a comparsa contiene due div (uno con le voci e uno con i social) mentre per il resto della pagina il menu dovrebbe comprendere solo quello tradizionale con le voci, quindi avevo bisogno di fare una seconda nav sotto l' header, cosa che però bootstrap non mi permetto di fare (almeno credo sia un problema di bootstrap) dato che quando clicco sul button per aprire il menu ritorna alla barra principale della pagina ovvero la prima. ( non posso mettere il menu fixed e nascondere semplicemente il secondo div poiché il menu fixed si andrebbe a sovrapporre ad alcuni elementi scrollando verso il basso ed era una situazione che volevo evitare). Se avete soluzioni da proporre in questo caso SONO MOLTO BEN ACCETTE.

La mia domanda però è un' altra. Per far fronte al problema ho creato un menu icon e poi uno script che dice che al click questi div compaiono. ORA COME FACCIO A FARLI SCOMPARIRE CLICCANDO DI NUOVO???? SONO DISPERATA T.T

vi allego il codice (che ovviamente se contiene errori segnalatemelo che ogni dritta per me è un insegnamento )
HTML:
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Untitled Document</title>
    <!-- Bootstrap -->
    <link href="css/bootstrap.css" rel="stylesheet">
    <link href="css/style2.css" rel="stylesheet" type="text/css">
   
    <style>
.container {
    padding-left: 120px;
    cursor: pointer;
}

.bar1, .bar2, .bar3 {
    width: 35px;
    height: 5px;
    background-color: #333;
    margin: 6px 0;
    transition: 0.4s;
   
}

.change .bar1 {
    -webkit-transform: rotate(-45deg) translate(-9px, 6px) ;
    transform: rotate(-45deg) translate(-9px, 6px) ;
}

.change .bar2 {opacity: 0;}

.change .bar3 {
    -webkit-transform: rotate(45deg) translate(-8px, -8px) ;
    transform: rotate(45deg) translate(-8px, -8px) ;
}
           
</style>

  </head>
  <body>
  <div class="container-fluid">
    <nav class="navbar navbar-default col-lg-12">

       
      <div id="button" class="container col-xs-2 col-xs-offset-10" onclick="myFunction(this)">
  <div class="bar1"></div>
  <div class="bar2"></div>
  <div class="bar3"></div>
</div>
       
      <div id="menu" class="col-xs-12">
        <div id="listmenu" class="col-lg-5 col-md-5 col-sm-5 col-xs-12">
        <ul id="primo" class="nav navbar-nav">
            <li><a href="#">home</a></li>
            <li><a href="#">about</a></li>
            <li><a href="#">services</a></li>
            <li><a href="#">works</a></li>
            <li><a href="#">contacts</a></li>
        </ul>
        </div>
      <div id="welcome" class=" col-lg-5 col-md-5 col-sm-5 col-xs-12 ">
        <ul id="secondo" class="nav navbar-nav"> 
     
     
        <a href="#"><li id="fb">&nbsp;</li></a>
        <a href="#"><li id="tw">&nbsp;</li></a>
        <a href="#"><li id="ig">&nbsp;</li></a>
        <a href="#"><li id="be">&nbsp;</li></a>
        <p>[email protected]</p>
           
      </ul>
        </div>
       
     </div>
        </nav>
     </div>
    <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> 
    <script src="js/jquery-1.11.3.min.js"></script>

    <!-- Include all compiled plugins (below), or include individual files as needed --> 
    <script src="js/bootstrap.js"></script>
   
    <script>
function myFunction(x) {
    x.classList.toggle("change");
}
       
    $('#button').click(function(){
        $('#menu').show();
    })
</script>


  </body>
</html>


vi metto anche il CSS ... non so se vi serva o meno



.container {
margin-top: 50px;
}

#menu {
display: none;
}
#listmenu {
background-color: rgba(193,169,178,1.00);
margin-top: 46px;
height: 500px;
padding-top: 55px;
padding-left: 83px;
margin-left: 90px;
display: block;

}

#primo li a {
color: white;
text-transform: uppercase;
font-size: 16pt;
margin-bottom: 70px;
opacity: 0.9;
font-family: 'Brandon Grotesque', sans-serif;
font-weight: 400;
letter-spacing: 9px;
display: block;
background-color: transparent;
height: 63px;
width: 210px;
padding-top: 20px;
}

#primo li a:hover {
display: block;
background-color: transparent;
border: solid 2px white;
height: 63px;
width: 212px;
padding-top: 20px;
}

#welcome {

margin-top: 46px;
height: 700px;

background-color:rgba(255,255,255,1.00);
opacity: 0.9;

}
#secondo p {
color: rgba(109,69,92,1.00);
font-family: 'Brandon Grotesque' , sans-serif;
font-size: 16pt;
font-weight: 400;
text-align: center;
position: absolute;
top: 420px;
padding-left: 130px;

}

#welcome li {
list-style: none;
text-decoration: none;
display: inline-block;
margin-left: 15px;
margin-right: px;
width: 25px;
position: relative;
top: 390px;
left: 205px;

}

.icon-bar {
color:rgba(151,112,127,1.00)!important;

}

@media (max-width:767px) {
#listmenu {
margin-left: 0;
}
#welcome {
display: none;
}

}



@media (min-width: 0px) {


.navbar-header {
float: none;
padding-top: 30px;
}
.navbar-default {
background-color: transparent;
border: none;
}
.navbar-toggle {
display: block;
color: transparent;
border: none;


}

.navbar-toggle span {
width: 40px!important;

}

button.navbar-toggle:hover {
background-color: transparent!important;
}
.navbar-nav {
float: none!important;
margin: 7.5px -15px;
display: block;
}
.navbar-nav>li {
float: none;
}
.navbar-nav>li>a {
padding-top: 10px;
padding-bottom: 10px;
}
}


}

.icon-bar {
color:rgba(151,112,127,1.00)!important;

}



#listmenu li a {
color: white;
text-transform: uppercase;
font-size: 12pt;
margin-bottom: 40px;
opacity: 0.9;
font-family: 'Brandon Grotesque', sans-serif;
font-weight: 400;
letter-spacing: 7px;
display: block;
background-color: transparent;
height: 43px;
width: 170px;
padding-top: 8px;
}
#listmenu li a:hover {
display: block;
background-color: transparent;
border: solid 2px white;
height: 43px;
width: 170px;
padding-top: 8px;
}



}

@media (min-width:769px) and (max-width:991px) {

#listmenu {
background-color: rgba(193,169,178,1.00);
margin-top: 46px;
height: 400px;
padding-top: 55px;
padding-left: 83px;
margin-left: 10px;

}
#listmenu li a {
color: white;
text-transform: uppercase;
font-size: 12pt;
margin-bottom: 40px;
opacity: 0.9;
font-family: 'Brandon Grotesque', sans-serif;
font-weight: 400;
letter-spacing: 7px;
display: block;
background-color: transparent;
height: 43px;
width: 170px;
padding-top: 8px;
}
#listmenu li a:hover {
display: block;
background-color: transparent;
border: solid 2px white;
height: 43px;
width: 170px;
padding-top: 8px;
}

}

@media (min-width: 992px) and (max-width:1199px){
#listmenu {

margin-top: 46px;
height: 600px;
padding-top: 55px;
padding-left: 73px;
margin-left: 60px;

}

#listmenu li a {

font-size: 12pt;
margin-bottom: 45px;
letter-spacing: 8px;

}


}
-----------------------------------------------------

fatemi capire qualcosa :( :( :(
 

Discussioni simili