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

    getElementById che inizia con...

    Ciao a tutti...
    dovrei fare una funzione che nasconde tutti i div il cui id comincia per "sottomenu".

    Mi spiego, io ho una serie di sottomenu con ID sottomenu1, sottomenu2, 3, 4, etc. che appaiono quando passo sopra un collegamento del menu principale, se passo su di un'altra voce vorrei chiudere il sottomeniu aperto in precedenza indipendentemente da quale sia...

    ecco le mie funzioni:
    function mostraSub(chesub){
    document.getElementById('frecciasubcat'+chesub).st yle.display='';
    document.getElementById('menusubcat'+chesub).style .display='';
    }

    function nascondiSub(){
    document.getElementById('frecciasubcat'+*).style.d isplay='none';
    document.getElementById('menusubcat'+*).style.disp lay='none';
    }

    ... e sul menu ho questo:
    onmouseover="nascondiSub(); mostraSub(2)"

    come potete vedere ho provato con l'asterisco ma mi da errore...
    Come posso fare??
    Chi Non RisiKa noN RosiKa

  2. #2
    Com'è l'HTML? Puoi postarlo?

  3. #3
    l'html del menu è questo:

    <td width="81" onmouseover="nascondiSub(); mostraSub(1)"><div align="center" class="txtmenu">LINK 1</div></td>
    <td width="81" onmouseover="nascondiSub(); mostraSub(2)"><div align="center" class="txtmenu">LINK 2</div></td>
    <td width="81" onmouseover="nascondiSub(); mostraSub(3)"><div align="center" class="txtmenu">LINK 3</div></td>
    <td width="81" onmouseover="nascondiSub(); mostraSub(4)"><div align="center" class="txtmenu">LINK 4</div></td>
    Chi Non RisiKa noN RosiKa

  4. #4
    No intendevo l'HTML della parte da rendere invisibile

  5. #5
    eccolo:

    <tr id="frecciasubcat1" style="display:none">
    <td width="81">[img]images/sel_sub.png[/img]</td>
    </tr>
    <tr id="menusubcat1" style="display:none" onmouseleave="nascondiSub()">
    <td width="81">PER CASSETTI</td>
    <td width="81">PER TELAI</td>
    </tr>
    Chi Non RisiKa noN RosiKa

  6. #6
    Allora, se non sai a priori i nomi degli ID non ti conviene usarli per cancellare gli elementi, usa le classi:

    <tr id="frecciasubcat1" class="submenu" style="display:none">
    <td width="81">[img]images/sel_sub.png[/img]</td>
    </tr>
    <tr id="menusubcat1" class="submenu" style="display:none" onmouseleave="nascondiSub()">
    <td width="81">PER CASSETTI</td>
    <td width="81">PER TELAI</td>
    </tr>

    dai la classe submenu a tutti le righe di sottomenu e delle frecce.

    poi fai:

    function nascondiSub(){
    var elems = document.getElementsByTagName('tr');
    for(i = 0; i < elems.length; i++)
    {
    if(elems[i].className.indexOf('submenu') >= 0)
    elems[i].style.display = 'none'
    }
    }

    con questa funzione tutti gli elementi con la class = "submenu" vengono resi invisibili

  7. #7
    ottimo...
    Grazie 1000!!
    Chi Non RisiKa noN RosiKa

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.