Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di shaone
    Registrato dal
    Apr 2003
    Messaggi
    212

    unione elementi in funzione

    Ciao a tutti!!!
    ho questo pezzo di codice in pratica vorrei fare in modo che mi venisse nascosto l'elemento div corrispondente al menu scelto.

    In pratica l'analisi è questa:

    - Seleziono uno dei 4 menu e ci clicco sopra..
    (es. 'gestione anagrafica' con id = 1)
    - l'evento on click mi trasferisce l'id della cella cliccata alla
    funzione javascript che unisce l'id recuperato(1) alla
    stringa "campo" e quindi ottengo l'elemento da nascondere(campo1)
    - con javascript e css nascondo l'elemento:
    ["campo" + elemento].style.visibility = "hidden"; (credo che sbaglio qua!!)

    In teoria tutto dovrebbe funzionare ma non va , credo che non mi riconosca la stringa "campo" + 1

    Spero di essere stato chiaro e che qualcuno mi aiuti!!!!

    <script language="javascript1.2">
    function menu(elemento){

    ["campo" + elemento].style.visibility = "hidden";
    }
    </script>

    .....

    <tr>
    <td id="1" onClick="menu(this.id)">Gestione Anagrafiche</td>
    <td id="2" onClick="menu(this.id)">Gestione Magazzino</td>
    <td id="3" onClick="menu(this.id)">Gestione Flusso</td>
    <td id="4" onClick="menu(this.id)">Documenti</td>
    </tr>
    <tr>
    <td colspan="4" align="center">
    <div id="campo1">Primo</div>
    <div id="campo2">Secondo</div>
    <div id="campo3">Terzo</div>
    <div id="campo4">Quarto</div>
    </td>
    </tr>

    .......

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    cambia ["campo" + elemento].style.visibility = "hidden";
    in
    document.getElementById("campo" + elemento).style.visibility="hidden";
    ciao

  3. #3

    a proposito

    vorrei chiarire anche per me questo punto...
    visibility = "hidden" non ti nasconde il livello ma lo rende semplicemente invisibile... e quindi lo spazio occupato da quel livello rimane tale...
    per ovviare a questo problema si usa
    display = "none" e display = "block" (o inline)
    sorpresa... su opera 6 non funziona il display... e se volessi fare un codice crossbrowser anche per NN4? sarebbe possibile?
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    opera6 ha grossi problemi, non puoi farci molto
    cmq è meglio block che inline, con alcuni browser se non è block non appare

  5. #5
    il mio problema vero non è opera quanto NN4... come si può fare?
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    con giri assurdi, tipo questi
    (credo, ho formattato da pochi gg e non ho nn4 x provarlo)

  7. #7
    si... ho provato e con NN4 funziona... spero funzioni anche con Opera... visto che si comporta allo stesso modo...
    è un po complicato da capire... però spero di aver capito
    grazie
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    figurati

  9. #9
    perchè non funziona come voglio io?
    pare che una tabella in + crei problemi... ma io ho bisogno di quella tabella...

    codice:
    <style>
    .submenu {
    	position:relative;
    	visibility:hidden;
    }
    </style>
    <script>
    function openMenu(idm) {
    	var idobj = document.layers[idm];
    	idobj.visibility="show";
    	//idobj.position="relative";
    }
    </script>
    
    <table cellpadding="0" cellspacing="1" class="menu" width="200">
    <tr><td class="menu_title">cartella 1</td></tr>
    <tr><td><table cellpadding="0" cellspacing="0" width="100%">
    <tr><td height="0">+ menu</td></tr>
    	<tr><td><div id="m_script" class="submenu">
    	<table width="100%" cellpadding="0" cellspacing="0" border=1>
    	<tr><td width="20"></td><td>&#187; voce 1</td></tr>
    	<tr><td width="20"></td><td>&#187; voce 2</td></tr>
    	<tr><td width="20"></td><td>&#187; voce 3</td></tr>
    	</table>
    	</div></td></tr>
    <tr><td class="menu_title">cartella 2</td></tr>
    </table></td></tr></table>
    ho messo position:relative; perchè con absolute non c'era verso... ma lo spazio occupato dal DIV rimane...
    come faccio?
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

  10. #10
    help me please...
    «Se leggi dimentichi, se vedi capisci, se fai impari» Piaget

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