Visualizzazione dei risultati da 1 a 10 su 10

Discussione: Navigazione a comparsa

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    14

    Navigazione a comparsa

    Ciao,
    vorrei realizzare una navigazione che compaia automaticamente dopo che la pagina raggiunge il box (posizionato a 800px dal margine in alto) e vorrei si bloccasse.

    Al momento ho trovato questo jquery ma non riesco a modificarlo in base a ciò che voglio ottenere.

    $(function() {
    $(window).scroll(function() {
    if($(this).scrollTop() != 0) {

    $('#Menu').fadeIn();
    } else {

    $('#Menu').fadeOut();
    }
    });

    });//DOM



    Qualcuno riesce ad aiutarmi per favore?

    Grazie

  2. #2
    codice:
    $(function() {
        $('#Menu').css('position','fixed');
        $(window).scroll(function() {
          if($(this).scrollTop() >= 800) {
            $('#Menu').fadeIn(); 
          } else {
            $('#Menu').fadeOut();
          }
       });
    });//DOM
    Prova così.
    Fammi sapere

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    14
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    codice:
    $(function() {
        $('#Menu').css('position','fixed');
        $(window).scroll(function() {
          if($(this).scrollTop() >= 800) {
            $('#Menu').fadeIn(); 
          } else {
            $('#Menu').fadeOut();
          }
       });
    });//DOM
    Prova così.
    Fammi sapere
    Ciao,
    grazie mille! Era proprio quello che cercavo!
    Solo mi da un "problema", quando carico la pagina è già attivo, nel momento in cui vado in giù scompare e poi riappare come volevo.
    Sai dirmi come posso nasconderlo dall'inizio?

    ecco il link della prova: http://www.francescapellicano.altervista.org/

    Grazie

  4. #4
    Usa una regola CSS:
    codice:
    <style type="text/css">
    #Menu{
       position:fixed;
       display:none;
    }
    </style>
    Aggiungendo questa regola, nascondi il menu dall'inizio (display:none) e puoi eliminare dallo script la riga:
    codice:
    $('#Menu').css('position','fixed');
    avendo già dichiarato la position nella regola (position:fixed)

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    14
    ci ho provato ma non cambia. Nel css ho questo:

    nav {
    position:fixed;
    display: none;
    top: 0;
    width: 100%;
    height: 70px;
    background-color: rgba(89,74,66,1.00);
    }

    nav li {
    display: inline-block;
    padding: 24px 10px;
    }

    nav li a {
    color: #757575;
    text-transform: uppercase;
    }

    e il risultato non cambia.. c'è qualcosa di sbagliato?

  6. #6
    Ciao Francesca, hai messo online le modifiche? Mi pare non ci siano.
    Su altervista vedo la position:fixed messa inline nel tag "nav", ma non la regola che mi hai postato.
    Ho notato che alla riga 27 del file reset.css è impostato un display:block per il tag nav, il che contrasta con il display:none che ci occorre.
    Metti online le modifiche comunque, ti dirò come correggere.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    14
    Ho messo online le modifiche ora.

    Quindi dovrei togliere dal reset display: none?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2013
    Messaggi
    14
    Ciao Luca,
    ho tolto quella regola nel reset ed ora è tutto corretto! ti ringrazio molto!

    Francesca

  9. #9
    Quote Originariamente inviata da FraChri Visualizza il messaggio
    Ho messo online le modifiche ora.

    Quindi dovrei togliere dal reset display: none?
    Nel reset c'è il display:block, è una regola che serve per i browser che non supportano HTML5 e non sanno cosa sia il tag nav.
    In pratica il display:block del file reset.css sovrascrive il display:none del file style.css

    Per ovviare basta che inverti, nel file index.html queste due inclusioni:
    codice:
    <link rel="stylesheet" type="text/css" href="css/style.css" /> 
    <link href="css/reset.css" rel="stylesheet" type="text/css">
    cioè devi prima includere reset.css e solo dopo style.css

    Nel tuo caso non possiamo usare !important nel display: none altrimenti il fadeIn() di jQuery non funzionerebbe.

    Carino il template

  10. #10
    Quote Originariamente inviata da FraChri Visualizza il messaggio
    Ciao Luca,
    ho tolto quella regola nel reset ed ora è tutto corretto! ti ringrazio molto!

    Francesca
    ....non avevo visto la tua risposta
    Non c'è di che

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.