Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Javascript per browser Mozilla

    Ciao, ho creato un menu dinamico con fogli di stile css e javascript.
    Il problema è che con Internet Explorer funziona, con Mozilla no.
    Potete dirmi quali comandi correggere perchè venga letto correttamente anche da mozilla?
    Adesso vi presento il file:

    var quanti = 3;
    var i;

    // Il parametro "conta" serve per indicizzare i vai menu principali
    function Apri(conta)
    {
    if(document.all) // Identifichiamo Microsoft Internet Explorer
    {
    var elemento = event.toElement;
    var mostra = document.all.sottomenu[conta];
    mostra.style.visibility = "visible"; // Visualizza i sottomenu
    mostra.style.top = 14;
    for (i=0; i<quanti; i++)
    {
    aperto = document.all.sottomenu[i];
    menu = document.all.principale[i];
    if (i != conta)
    {
    aperto.style.visibility = "hidden";
    }
    }
    }

    }

    function Chiudi()
    {
    for (i=0; i<quanti; i++)
    {
    if (document.all)
    {
    document.all.sottomenu[i].style.visibility = "hidden";
    menu = document.all.principale[i];
    }
    }
    }


    per Netscape ho inserito:

  2. #2
    Scusatemi, per netscape ho inserito nel file Apri():

    if (document.layers)
    {
    mostra = document.layers[x+1];
    mostra.visibility = "show";
    mostra.top= 15;
    for (i=1; i<=quanti; i++)
    {
    aperto = document.layers[i];
    if (i != (x + 1))
    {
    aperto.visibility = "hide";
    }
    }
    }

    e nel file chiudi:

    if (document.layers)
    {
    document.layers[i+1].visibility = "hide";
    }

    ...per Mozilla che comandi devo aggiungere?
    Grazie!

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Quello che tu chiami "per Netscape", in realta` serve solo per il Navigator (cioe` Netscape 4), che e` quasi estinto.
    N6 e N7 funzionano come i browser conformi al W3C.
    Nota che anche IE6 capisce le istruzioni del W3C (in parte anche IE5.5).
    codice:
    var menu; // variabile globale
    function Apri(conta) {
      //var elemento = event.toElement;  // a che serve?
      var mostra = document.getElementById('conta');
      mostra.style.visibility = "visible"; // Visualizza i sottomenu
      mostra.style.top = '14px';
      for (var i=0; i<quanti; i++) {
        var aperto = document.getElementById('sottomenu'+i);
        menu = document.getElementById('principale'+i); //???
        if (i != conta) {
          aperto.style.visibility = "hidden";
        }
      }
    }
     
    function Chiudi() {
      for (var i=0; i<quanti; i++) {
        document.getElementById('sottomenu'+i).style.visibility = "hidden";
        menu = document.getElementById('principale'+i); //???
      }
    }
    Queste funzion presuppongono che nella pagina ci siano degli elementi (tag) con attributi:
    id="sottomenu0"
    id="sottomenu1"
    ...
    id="principale0"
    id="principale1"
    ...

    Nota che di solito per visualizzare/nascondere si usa
    .style.display='block'; // 'inline' se si tratta di scritte
    .style.display='none';
    ma questo dipende dall'effetto che vuoi rendere.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    Ho modificato lo script come mi hai detto però con mozilla ho sempre lo stesso problema.
    Il menu viene visualizzato solo che non si aprono i sottomenu nonostante i collegamenti ad essi siano corretti.
    In Explorer invece non ho nessun problema.
    A cosa potrebbe essere dovuto?

    Intanto ti ringrazio per l'aiuto datomi fin'ora!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ma se e` un menu, perche` non usarne uno fatto con i CSS? E` molto piu` accessibile, tutti i browser moderni lo supportnao (ha problemi solo con NN4 e IE5.0), e non risente di limitazioni dei JS. Ne trovi partendo dai "link utili" del forum "CSS e XHTML" (sotto "HTML").

    Tornando allo script, occorre vedere come e` fatto il codice HTML, perche` il JS deve adattarsi alla pagina; inoltre quello script ha necessita` che i tag abbiano l'attributo id e che sia corretto (compreso maiuscole/minuscole).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Infatti inizialmente volevo proprio farli con i css. Adesso guardo dove mi hai detto tu, se per caso hai qualche altro link utile te ne sarei grato.

    Comunque grazie di tutto, buona giornata!

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.