Visualizzazione risultati 1 fino 6 di 6

Discussione: Menu laterale con javascript

  1. #1
    tuttainformatica non è connesso Utente giovane
    Data registrazione
    05-03-2020
    Messaggi
    55

    Predefinito Menu laterale con javascript

    Ciao a tutti,
    ho realizzato un semplice menu laterale che si apre e chiude premendo un pulsante con javascript; questo è il codice:
    Codice:
    function myMenu() {
        var content = document.getElementById("pageLayout-content");
        var menu = document.getElementById("pageLayout-nav");
        if(content.style.paddingLeft=="280px"){
            menu.style.transform="translateX(-280px)";
            content.style.paddingLeft="0";
        }else{
            menu.style.transform="translateX(0)";
            content.style.paddingLeft="280px";
        }
    }
    contet è il contenuto della pagina che si allarga e si stringe con un padding-left
    menu è ovviamente il menu che apro e chiudo traslando la x di -280px, ovvero la larghezza del menu, in modo da nasconderlo tutto


    Nei CSS ho inizialmente:
    • menu: transform:translateX(-280px)
    • content: padding-left:0

    ovvero ho il menu chiuso.

    Tutto funziona però vorrei fare in modo che con min-width:1200px il menu sia aperto (ovvero translateX(0))
    Ho provato a inserire una semplice media query nei css ma penso che javascript non la legga perché la prima volta che premo il button per chiudere il menu, me lo apre anche se è visibilmente già aperto, dalla seconda volta procede normalmente.

    Come dovrei fare?

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    A naso, sarebbe più facile se il menu fosse tutto in CSS. Javascript non è necessario in questo caso. A quel punto, la media query si applicherebbe correttamente.

    Se hai la pagina online, ci si può dare un'occhiata.

  3. #3
    tuttainformatica non è connesso Utente giovane
    Data registrazione
    05-03-2020
    Messaggi
    55

    Predefinito

    Si il link è questo http://tuttainformatica.altervista.org/prova/index.php

    non so farlo solo css
    Grazie

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da tuttainformatica Visualizza messaggio
    non so farlo solo css
    Questo tutorial è un buon punto di partenza: https://bryanlrobinson.com/blog/css-...ut-navigation/

  5. #5
    lucafornaciarifotografie non è connesso Utente AlterBlog
    Data registrazione
    25-01-2021
    Messaggi
    128

    Predefinito

    Non funziona perché nel js gli passi lo style che vince sul css. In js dovresti aggiungere le classi e non lo style in line. Una volta aggiunto la classe in js nel css gli fai fare quello che ti serve.

  6. #6
    tuttainformatica non è connesso Utente giovane
    Data registrazione
    05-03-2020
    Messaggi
    55

    Predefinito

    Sono riuscito a farlo sia con i css che con javascript
    Grazie mille!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •