Risultati da 1 a 2 di 2

Discussione: Menu ad albero con JS

  1. #1
    New Member
    Data Registrazione
    15-01-2006
    Messaggi
    2

    Menu ad albero con JS

    come si fa a fare un menu ad albero (un po' come quello di esplora risorse) in cui ogni elemento abbia un id? insomma, vorrei fare una cosa così: addNode(0, 1, "Nodo Principale"), in modo che il primo argomento sia "sotto quale nodo mettere il nodo che si sta inserendo", per esempio se è 0 sarà un nodo principale. Il secondo sarà l'id che si vuole conferire al nuovo nodo, e il terzo il testo del nodo. In modo che se si fa addNode(1, 2, "Nodo Secondario"), viene creato un nodo con id 2 subordinato al nodo con l'id 1, non so se sono stato molto chiaro... più che altro mi servirebbe capire come fare un menu ad albero così... avete presente il DOM Inspector di firefox e il menu ad albero che esce alla sinistra? ecco, la grafica dovrebbe essere simile a quella :P grazie
    Ultima modifica di whiles; 15-01-2006 alle 16.02.09

  2. #2
    New Member
    Data Registrazione
    15-01-2006
    Messaggi
    2
    bene, ho abbozzato questo codice in Js:

    Codice:
    function inputRequest(addType) {
    	if (addType==1) {
    		nodeId=prompt("Inserisci l'id del nuovo nodo", "");
    		subNodeTo=prompt("Inserisci l'id a cui il nuovo nodo deve essere subordinato", "");
    		nodeText=prompt("Inserisci il testo del nuovo nodo", "");
    		addNode(nodeId, subNodeTo, nodeText);
    	}
    }
    
    function addNode(nodeId, subNoteTo, nodeText) {
    	document.getElementById(subNodeTo).innerHTML += "<UL class=\"openNode\" id=\"" + nodeId + "\"><li>" + nodeText + "</li></ul>";
    	}

    ora, la classe openNode è
    Codice:
    .openNode {
    	list-style-image: url(open.bmp); 
    }
    dove open.bmp è l'immaginetta col "+" accanto. Poi, naturalmente, c'è il contenitore dell'albero in html e il bottone che richiama la funzione:

    Codice:
    <div id="0">
    
    
    </div>
    
    <input type="button" value="Aggiungi Nodo" onClick="inputRequest(1)" />

    siccome non sono un esperto di HTML, avrei ancora alcuni aspetti da chiarire... ad esempio, come si fa a nascondere tutti i figli <ul> di un TAG ma senza far sparire i figli <li>? e poi la parte in cui se ad un nodo non sono stati assegnati figli, questo nodo non deve avere il "+" accanto, mentre se vengono assegnati altri figli questo deve avere il segno "+"... credo che di debba agire sul dom di un tag parent di un altro tag... ma non so come farlo... quancuno mi può aiutare?

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •