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

    Riga tabella che deve sparire e riapparire

    Il codice qui sotto (creato da aspx ma da me manipolato(purtroppo direte voi...), mostra una tabella di due righe: la prima visibile e la seconda visibile solo al click sul link showdetails. In origine - e funzionava - lo script variava la proprietà visibility, con il risultato però che la riga non era vista ma occupava lo spazio nella pagina. Ho provato a cambiare andando a settare style.display ma peggio di prima perché non va più: le mie insufficienti conoscenze di javascript mi obbligano a chiedere una mano. Grazie



    <html>
    <head>
    <script type="text/javascript">
    var action;
    IE4 = (document.all && !document.getElementById) ? true : false;
    NS4 = (document.layers) ? true : false;
    IE5 = (document.all && document.getElementById) ? true : false;
    NS6 = (!document.all && document.getElementById) ? true : false;

    function showDetails(action)
    {

    x = 0;
    changeText(arguments[x]);
    if (IE4) { prefix = document.all(arguments[x]).style; }
    if (NS6 || IE5) { prefix = document.getElementById(arguments[x]).style }
    if (NS4){ prefix = document.layers(arguments[x]); }

    //if (prefix.visibility == "visible")
    if (prefix.style.display == "block")
    {
    //prefix.visibility = "hidden";
    prefix.style.display="none";
    prefix.fontSize = "0";
    }
    else
    {
    //prefix.visibility = "visible";
    prefix.style.display="block";
    prefix.fontSize = "16";
    }
    }

    function changeText(link)
    {
    link += "link";
    linkText = document.getElementById(link);
    linkText.firstChild.nodeValue;

    if (linkText.firstChild.nodeValue == "Show Details")
    {
    linkText.firstChild.nodeValue = "Hide Details";
    }
    else
    {
    linkText.firstChild.nodeValue = "Show Details";
    }
    }
    </script>
    </head>
    <body>
    <form name="_ctl0" method="post" id="_ctl0">




    </p>

    <table cellspacing="0" rules="all" border="2" id="dgBooks" style="border-width:2px;border-style:solid;height:35px;border-collapse:collapse;">

    <tr>
    <td width="593"></td>
    </tr>
    <tr style="color:#FFCC99;background-color:#99AA99;">
    <td> <table border="0" id= "Table1">
    <tr>
    <td> Show Details
    </td>
    <td> Title:prova</td>
    </tr>
    <tr id='14' style="font-size: 0px; height: 0px; display: 'none';" border="0">
    A
    <td colspan="2"> <table id="dgBooks__ctl2_UserControl1_dtlfoto" cellspacing="0" bordercolor="White" border="0" style="background-color:#FF8000;border-color:White;border-width:1px;border-style:solid;width:100%;border-collapse:collapse;">
    <tr>
    <td colspan="3" style="color:White;background-color:Gray;font-family:Verdana;font-size:X-Small;">
    </td>
    </tr>
    <tr>
    <td align="Center" valign="Middle" style="color:Black;font-family:Verdana;font-size:XX-Small;width:33%;">
    <p align="center"> [img]resize.aspx?src=/foto/prova/calendario animato.gif&w=100&h=100[/img]

    &nbsp

    </p></td>
    <td align="Center" valign="Middle" style="color:Black;font-family:Verdana;font-size:XX-Small;width:33%;">
    <p align="center"> [img]resize.aspx?src=/foto/prova/contentIndicator.gif&w=100&h=100[/img]

    &nbsp

    </p></td>
    </tr>
    <tr>
    <td colspan="3" style="color:White;background-color:Gray;font-family:Verdana;font-size:X-Small;">
    </td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </tr>
    </table>
    </p>
    </form>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    La tua variabile prefix contiene gia` l'oggetto .style alla fine, quindi e` sbagliato scrivere
    if (prefix.style.display == "block")
    ma devi invece scrivere:
    if (prefix.display == "block")

    come e` fatto con visibility nella parte commentata.

    Tieni presente che display non ha la stessa compatibilita` di visibility, quindi occorrerebbe modificare lo script per usare la visibility nei browser che non sanno fare display.

    Pero` se non ti interessa la compatibilita` con IE4 e NN4, puoi andare tranquillo (si potrebbe invece semplificare lo script).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Grazie infinite: quando uno è ignorante come me in certe cose non dovrebbe neanche andare a ficcarsi.

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.