Visualizzazione dei risultati da 1 a 8 su 8

Discussione: menu ad albero

  1. #1

    menu ad albero

    Ciao!

    Tempo fa ho travato proprio qui un menu ad albero ... inserisco il codice

    codice:
    <HTML>
    
    <HEAD>
    
    
    
    <!-- Codice scaricato gratuitamente da HTML.it, il sito italiano sul Web publishing
    
                                       http://www.html.it -->
    
    
    
    <TITLE>Demo Dynamic HTML: esempio pratico </TITLE>
    
    
    
    <STYLE TYPE="text/css">
    
    <!--
    
    H3 {font-family: Verdana,Arial,Helvetica;font-size:10pt;font-weight:bold;}
    
    TT{font-family:monospace;}
    
    B I{color:#993366;font-size:100%;}
    
    DIV,TD{font-family:Arial,Verdana,Helvetica;font-size:10pt;}
    
    SPAN SMALL{font-size:80%;}
    
    SPAN.times{font-family:Times New Roman,Times,serif;font-size:100%;}
    
    -->
    
    </STYLE>
    
    <SCRIPT LANGUAGE="JavaScript">
    
    <!--
    
    var bV=parseInt(navigator.appVersion);
    
    NS4=(document.layers)?true:false;
    
    IE4=(document.all)?true:false;
    
    ver4=(NS4 || IE4)?true:false;
    
    if (document.images) {
    
    arImLoad=new Array ("IMMAGINI/meno.gif");
    
    arImList=new Array ();
    
    for (counter in arImLoad) {
    
    arImList[counter]=new Image();
    
    arImList[counter].src=arImLoad[counter] + ".gif";
    
    }}
    
    function expandIt(){return}
    
    function expandAll(){return}
    
    //-->
    
    </SCRIPT>
    
    <SCRIPT LANGUAGE="JavaScript1.2">
    
    <!--
    
    isExpanded=false;
    
    function reDo(){window.location.reload()}
    
    function getIndex(el) {
    
    ind=null;
    
    for (i=0; i<document.layers.length; i++) {
    
    whichEl=document.layers[i];
    
    if (whichEl.id==el) {
    
    ind=i;
    
    break;
    
    }
    
    }
    
    return ind;
    
    }
    
    function arrange() {
    
    nextY=document.layers[firstInd].pageY + document.layers[firstInd].document.height-10;
    
    for (i=firstInd+1; i<document.layers.length; i++) {
    
    whichEl=document.layers[i];
    
    if (whichEl.visibility != "hide") {
    
    whichEl.pageY=nextY;
    
    nextY += whichEl.document.height-10;
    
    }
    
    }
    
    }
    
    function initIt(){
    
    if (NS4) {scrollTo(0,pageYOffset-30)
    
    for (i=0; i<document.layers.length; i++) {
    
    whichEl=document.layers[i];
    
    if (whichEl.id.indexOf("Child") != -1) {
    
    whichEl.visibility="hide";
    
    whichEl.isExpanded=false;
    
    }
    
    }
    
    arrange();
    
    setTimeout("window.onresize=reDo",1000)
    
    }
    
    else {
    
    tempColl=document.all.tags("DIV");
    
    for (i=0; i<tempColl.length; i++) {
    
    if (tempColl(i).className == "child") {
    
    tempColl(i).style.display="none";
    
    tempColl(i).isExpanded=false;
    
    }
    
    }
    
    }
    
    }
    
    function expandIt(el) {
    
    if (!ver4) return;
    
    if (IE4) {expandIE(el)} else {expandNS(el)}
    
    }
    
    function expandIE(el) {
    
    whichEl=eval(el + "Child");
    
    whichIm=event.srcElement;
    
    if (whichEl.style.display == "none") {
    
    whichEl.style.display="block";
    
    whichEl.isExpanded=true;
    
    whichIm.src="IMMAGINI/meno.gif";
    
    }
    
    else {
    
    whichEl.style.display="none";
    
    whichEl.isExpanded=false;
    
    whichIm.src="IMMAGINI/piu.gif";
    
    }
    
    }
    
    function expandNS(el) {
    
    whichEl=eval("document." + el + "Child");
    
    whichIm=eval("document." + el + "Parent.document.images['imEx']");
    
    if (whichEl.visibility == "hide") {
    
    whichEl.visibility="show";
    
    whichEl.isExpanded=true;
    
    whichIm.src="IMMAGINI/meno.gif";
    
    }
    
    else {
    
    whichEl.visibility="hide";
    
    whichEl.isExpanded=false;
    
    whichIm.src="IMMAGINI/piu.gif";
    
    }
    
    arrange();
    
    }
    
    function showAll() {
    
    for (i=firstInd; i<document.layers.length; i++) {
    
    whichEl=document.layers[i];
    
    whichEl.visibility="show";
    
    }
    
    }
    
    function expandAll(isBot) {
    
    newSrc=(isExpanded)?"IMMAGINI/piu.gif":"IMMAGINI/meno.gif";
    
    if (NS4) {
    
    document.images["imEx"].src=newSrc;
    
    for (i=firstInd; i<document.layers.length; i++) {
    
    whichEl=document.layers[i];
    
    if (whichEl.id.indexOf("Parent") != -1) {
    
    whichEl.document.images["imEx"].src=newSrc;
    
    }
    
    if (whichEl.id.indexOf("Child") != -1) {
    
    whichEl.visibility=(isExpanded)?"hide":"show";
    
    whichEl.isExpanded=(isExpanded)?false:true;
    
    }
    
    }
    
    arrange();
    
    if (isBot && isExpanded) scrollTo(0,document.layers[firstInd].pageY);
    
    }
    
    else {
    
    divColl=document.all.tags("DIV");
    
    for (i=0; i<divColl.length; i++) {
    
    if (divColl(i).className == "child") {
    
    divColl(i).style.display=(isExpanded)?"none":"block";
    
    divColl(i).isExpanded=(isExpanded)?false:true;
    
    }
    
    }
    
    imColl=document.images.item("imEx");
    
    for (i=0; i<imColl.length; i++) {
    
    imColl(i).src=newSrc;
    
    }
    
    }
    
    isExpanded=!isExpanded;
    
    }
    
    with (document) {
    
    write("<STYLE TYPE='text/css'>");
    
    write(".parent {");
    
    if (NS4) {write("position:absolute; visibility:hidden;")};
    
    if (IE4) {write("margin-top:-10;")};
    
    write("margin-left:35;");
    
    write("color:#006");
    
    write("}");
    
    write(".child {");
    
    if (NS4) {write("position:absolute; visibility:hidden;")};
    
    if (IE4) {write("display:none;")};
    
    write("margin-left:50;");
    
    write("}");
    
    write(".other {");
    
    if (NS4) {write("position:absolute; visibility:hidden;")};
    
    write("margin-left:25;");
    
    write("}");
    
    write("</STYLE>");
    
    }
    
    function linkIt(whichEl, whichHref) {
    
    lay=(NS4)?eval("document."+whichEl+"Child"):eval(whichEl+"Child");
    
    if (!lay.isExpanded) expandIt(whichEl);
    
    nlay=(NS4)?lay.document.images[whichHref]:document.images[whichHref];
    
    if (NS4){
    
    sY=nlay.y+lay.pageY-20
    
    window.scrollTo(0,sY);
    
    }else{nlay.scrollIntoView();scroll(0,document.body.scrollTop-20);
    
    //alert(nlay.parentElement.tagName);
    
    nlay.parentElement.style.backgroundColor="#FF99FF";setTimeout("nlay.parentElement.style.backgroundColor='white'",1000);}
    
    }
    
    window.onload=initIt;
    
    //-->
    
    </SCRIPT>
    
    
    
    </HEAD>
    
    
    
    <BODY bgcolor="white" >
    
    
    
    
    
    
    
    
    
    <P ALIGN=CENTER>
    
    
    
    
    <SCRIPT LANGUAGE="JavaScript">
    
    <!--
    
    if(!ver4)document.write("<BLOCKQUOTE>");
    
    //-->
    
    </SCRIPT>
    
    
    
    [img]IMMAGINI/piu.gif[/img]Espandi/Contrai tutto</P>
    
    
    
    <DIV ID="elOneParent" CLASS=parent>
    
    [img]IMMAGINI/piu.gif[/img]xxxxx
    
    </DIV>
    
    
    
    <DIV ID="elOneChild" CLASS=child>
    
    
    
    
    
    
    HTML 4.0 Specification - Recommendation Final! - Important!!
    
    
    <TT>http://www.w3.org/TR/REC-html40/</TT>
    
    
    The Biggie! Already implemented in part by 4th generation browsers, HTML 4.0 ties up the loose ends created by the browser wars, and sets the standard for the fifth browser generation.
    
    </P>
    
    
    <UL><LI>CSS Positioning
    
    <LI>Web Fonts
    
    <LI>Aural Cascading Style Sheets
    
    <LI>CSS Printing Extensions[/list]
    
    
    </DIV>
    
    
    
    <DIV ID="elTwoParent" CLASS=parent>
    
    <H3>[img]IMMAGINI/piu.gif[/img]Netscape</H3>
    
    </DIV>
    
    
    
    <DIV ID="elTwoChild" CLASS=child>
    
    
    
    
    [img]art/arrow.gif[/img] Netscape Navigator and Communicator  New Release!
    
    
    <TT>http://home.netscape.com/comprod/pro...tor/index.html</TT>
    
    
    Latest Version: 4.05</P>
    
    
    </DIV>
    
    
    
    <DIV ID="elThreeParent" CLASS=parent>
    
    <H3>[img]IMMAGINI/piu.gif[/img]Microsoft</H3>
    
    </DIV>
    
    
    
    <DIV ID="elThreeChild" CLASS=child>
    
    
    
    
    Microsoft Internet Explorer
    
    
    <TT>http://www.microsoft.com/workshop/prog/ie4/</TT>
    
    
    Latest Version: 4.01</P>
    
    
    </DIV>
    
    
    
    <DIV ID="elFourParent" CLASS=parent>
    
    <H3>[img]IMMAGINI/piu.gif[/img]Scripting</H3>
    
    </DIV>
    
    
    
    <DIV ID="elFourChild" CLASS=child>
    
    
    
    JavaScript, The Complete Reference
    
      Updated! - Must Have!!
    
    
    <TT>http://developer.netscape.com/librar...sref/index.htm</TT>
    
    
    Finally available, the comprehensive documentation for JavaScript, both client and server. Includes the JavaScript 1.2 addendum. The new
    JavaScript Bible. Can be viewed online, or downloaded as:
    
    <UL><LI>Windows ZIP
    
    <LI>Acrobat PDF
    [/list]
    
    
    </DIV>
    
    
    
    <P ID="elExpParent" CLASS=other>
    
    [img]IMMAGINI/piu.gif[/img]Espandi/Contrai tutto
    
    </P>
    
    
    <SCRIPT LANGUAGE="JavaScript">
    
    <!--
    
    if(!ver4)document.write("</BLOCKQUOTE>");
    
    //-->
    
    </SCRIPT>
    
    
    
    <SCRIPT LANGUAGE="JavaScript1.2">
    
    <!--
    
    if (NS4) {
    
    firstEl="elOneParent";
    
    firstInd=getIndex(firstEl);
    
    document.layers[firstInd].pageY-=10;
    
    showAll();
    
    arrange();
    
    }else{elExpParent.style.marginTop=-10}
    
    //-->
    
    </SCRIPT>
    
    
    
    </body>
    
    </html>
    ma con Fire Fox non funziona ...
    si può fare qualcosa oppure (visto il numero di ore che ci ho lavorato per adattarlo alle mie esigenze) cerco un metodo indolore per passare a miglior vita?



    enza oddio ... è lunghissimo ... come si spedisce l'allegato ...

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    dando un breve sguardo vedo che nello script c'è uno sniffing del browser, ma il codice sembra funzionare solo con IE e Netscape.

    Infatti è visibile nel codice l'uso di document.all e document.layers

    Se spieghi esattamente cosa ti serve forse io o altri forumisti possiamo consigliarti qlcs che faccia al caso tuo.

    Modificare il codice mi sembra poco efficiente, forse è meglio pensare a qualcosa che sia già crossborwser
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    bene ... sto costruendo un forum (la mia politica è: perché fare con poco tempo quello che puoi fare con moltissimo tempo? ... mi piace vedere se sono capace di costruire le piramidi)

    a questo punto capirai bene a cosa mi serve un menu di quel genere:

    vorrei evidenziare solo i 'capofila' di ogni filo e poi espandere il filo con il classico 'clic' sul + facendolo diventare -
    (insegno matematica e questi giochi di prestigio mi piacciono tantissimo )

    c'ero quasi riuscita ... e poi, mentre aspettavo la risposta ho dato anche un altro sguardo ... c'è qualcos'altro che non funziona ... la pagina non si chiude correttamente ... sospetto che, oltre ai browser il problema sia un altro.
    Nella pagina JS lavora fianco a fianco con VBS ... non vorrei aver fatto lì un errore che dà fastidio allo script ... ho trovato il form per l'allegato ... ti/vi spedisco il file mio dove ho fuso (a parte tutti i neuroni che mi restavano) lo script con il codice scritto da me.
    ...


    il meccanismo:

    si prelevano i dati dei vari fili e poi si prelevano, per ognuno di essi, i dati dei relativi interventi. Il + è ovviamente ad ogni capofila (PARENT) mentre gli interventi sono CHILD.

    lascia perdere gli INCLUDE ... sono solo grafica e non c'entrano con il resto

    Che la forza sia con voi.

    ... me non mi sopporta più!

    ops ... non allega txt ... devo per forza scrivere qui ... mi linceranno ...

    spedisco un altro intervento con il codice

  4. #4
    ... niente ... è sempre troppo lungo ... non so come fare ...




    enza

  5. #5
    corretto l'errore ... non aveva attinenza con il menu ... resta il fatto che quando apro la pag con FF l'albero si presenta tutto aperto e non si contrae

    ...

    ci sono menu compatibili con tutti i browser? ad albero, ovviamente

    Buonanotte!

    enza

  6. #6



    nessuno mi ha risposto ...

    possibile che non ci sia la possibilità di avere un menu ad albero visibile dalla maggioranza dei browser?

    che so ... almeno IE FF ... Netscape ...


    ma che accessibilità è sto mondo?

    SOB!!!



    enza

  7. #7
    Utente di HTML.it L'avatar di wallrider
    Registrato dal
    Apr 2003
    Messaggi
    2,755
    Originariamente inviato da vincenza
    ...
    ci sono menu compatibili con tutti i browser? ad albero, ovviamente

    ...
    Guarda un pò questo
    http://www.destroydrop.com/javascripts/tree/

    Late is better than never
    RIP Cicciobenzina 9/11/2010

    "Riseminaciceli, i ceci nell'orto"

  8. #8
    grazie!!!


    posso chiederti di aiutarmi se avrò difficoltà nella configurazione?


    complimenti per il 'Senior'!

    enza

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.