Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 18 su 18

Discussione: Div nascosto/mostrato

  1. #11
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Sto provando diversi modi ma non sembra funzionare.. come detto mi piacerebbe che se ci sono div aperti (display!=none)..questi vengano chiusi dal momento in cui clicco l'apertura di un'altro div!

    Codice PHP:
    function hideMenu(id) {
        for (var 
    i_menu=1i_menu<12i_menu++) var idi"nascondi_menu"+i_menu;
        if (
    HM_DOM) {
            if(
    document.getElementById(id).className == "nascosta") {
                while (
    document.getElementById(idi).className == "show" && document.getElementById(idi) != document.getElementById(id)) {
                        
    document.getElementById(idi).className == "nascosta";
                }
                
    document.getElementById(id).className "show";
            }
            else 
    document.getElementById(id).className "nascosta";
        }
             if (
    HM_IE) {
                    if (
    document.all[id].className == "nascosta") {
                while (
    document.all[idi].className == "" && document.all[idi] != document.all[id]) {
                        
    document.all[idi].className == "nascosta";
                }
                
    document.all[id].className "";
            }
                    else 
    document.all[id].className == "nascosta";
            }
            else if (
    isNS4){
                    if (
    document.layers[id].className == "nascosta") {
                while (
    document.layers[idi].className == "" && document.layers[idi] != document.layers[id]) {
                        
    document.layers[idi].className == "nascosta";
                }
                
    document.layers[id].className "";
            }
                    else 
    document.layers[id].className == "nascosta";
            }


  2. #12
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Mi trovo a questo punto e naturalmente non ho risolto un granchè circa lo script:

    Codice PHP:
    function hideMenu(id) {
    //-Per nascondere le classi aperte
        
    for (var i_menu=1i_menu<12i_menu++) var idi"nascondi_menu"+i_menu;
        if (
    HM_DOM) {
            if (
    document.getElementById(idi).className == "show" && document.getElementById(idi) != document.getElementById(id)) document.getElementById(idi).className == "nascosta";
        }
        if (
    HM_IE) {
                    if (
    document.all[idi].className == "" && document.all[idi] != document.all[id]) document.all[idi].className == "nascosta";
            }
            else if (
    isNS4){
                    if (
    document.layers[idi].className == "" && document.layers[idi] != document.layers[id]) document.layers[idi].className == "nascosta";
            }
     
    //per mostrare la classe cliccata
        
    if (HM_DOM) {
            if(
    document.getElementById(id).className == "nascosta") {
                
    document.getElementById(id).className "show";
            }
            else 
    document.getElementById(id).className "nascosta";
        }
             if (
    HM_IE) {
                    if (
    document.all[id].className == "nascosta") {
                
    document.all[id].className "";
            }
                    else 
    document.all[id].className == "nascosta";
            }
            else if (
    isNS4){
                    if (
    document.layers[id].className == "nascosta") {
                
    document.layers[id].className "";
            }
                    else 
    document.layers[id].className == "nascosta";
            }



    pS. La cosa da fare è sempre la stessa... se voglio aprire un manu e ce n'è uno già aperto, quest'ultimo DEVE (^^) chiudersi!;D

  3. #13
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    momentaneamente accantona questa chimera di retro-compatibilita' o di compatibilita' totale, perche' primo il gioco potrebbe non valere la candela (ti voglio vedere a navigare nel 2007 con un NN4 ...e non che con un IE5 vada molto meglio, eh) e secondo fai errori grossolani perche' non conosci questi browser del passato e quello che supportano (leggere o settare un className su NN4? buona questa! e per venire un po' piu' in qua con gli anni anche un opera6 non capirebbe di cosa tu stia parlando)


    toh, esempio minimo
    codice:
    <style type="text/css">
    .nascosta {
    	display:none;
    }
    .mostrata {
    	display:block;
    }
    </style>
    <script type="text/javascript">
    function showHideMenu(n){
    	for(var k=1;k<=3;k++){
    		var obj=document.getElementById('nascondi_menu'+k);
    		obj.className=(k==n && obj.className=='nascosta')?'mostrata':'nascosta';
    	}
    	return false
    }
    </script>
    <ul>[*]menu1<div id="nascondi_menu1" class="nascosta">blablabla1</div>[*]menu2<div id="nascondi_menu2" class="nascosta">blablabla2</div>[*]menu1<div id="nascondi_menu3" class="nascosta">blablabla3</div>[/list]
    e speriamo di chiudere almeno questa questione

  4. #14
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Veramente a me serviva che dal momento che aprivo un div nascosto, se ce ne era un'altro aperto, dovevo chiuderlo!!

    Quindi va bene il tuo script ma manca di una parte!!

    CIAO!;D

    PS. Correggimi se sbaglio:

    Codice PHP:
    <style type="text/css">
    .
    nascosta {
        
    display:none;
    }
    .
    mostrata {
        
    display:block;
    }
    </
    style>
    <
    script type="text/javascript">
    function 
    showHideMenu(n){
        for(var 
    k=1;k<=3;k++){
            var 
    obj=document.getElementById('nascondi_menu'+k);
            
    obj.className=(k==&& obj.className=='nascosta')?'mostrata':'nascosta';
        }
    if (
    k!=&& obj.className=='mostrata'obj.className="nascosta";
     
        return 
    false
    }
    </script>
    <ul>[*][url="#"]menu1[/url]<div id="nascondi_menu1" class="nascosta">blablabla1</div>[*][url="#"]menu2[/url]<div id="nascondi_menu2" class="nascosta">blablabla2</div>[*][url="#"]menu1[/url]<div id="nascondi_menu3" class="nascosta">blablabla3</div>[/list] 

  5. #15
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    Originariamente inviato da Igreo
    Veramente a me serviva che dal momento che aprivo un div nascosto, se ce ne era un'altro aperto, dovevo chiuderlo!!
    e secondo te quello che ho postato cosa fa?
    Quindi va bene il tuo script ma manca di una parte!!
    ma cosa ... dici!
    almeno prova le cose prima di postare a vanvera

  6. #16
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    scusami, ma a me sembra che se == n lo apre e lo chiede, ma se è diverso da n... non fa nulla!!

  7. #17
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    perdo gli ultimi 30 secondi del mio tempo per la questione, dopodiche' sei in ignore

    obj.className=(k==n && obj.className=='nascosta')?'mostrata':'nascosta';
    sai come si traduce in una struttura if else?
    codice:
    if(k==n){
      if(obj.className=='nascosta') obj.className='mostrata';
      else obj.className='nascosta';
    }
    else {
      obj.className='nascosta'; // <- che dici? questo nasconde altri eventuali aperti?
    }

  8. #18
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Veramente amareggiato!

    Grazie comunque per la spiegazione che mi ha chiarito di molto l'utilizzo della boolena!

    Scusami e grazie ancora!;D



    PS:

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 © 2026 vBulletin Solutions, Inc. All rights reserved.