Newsgroup: it.comp.lang.javascript
Titolo: Funzione apri menu

Salve a tutti. Tramite una funzione ricorsiva in php ho creato una
lista:
$base=0;
function get_tree($base)
{
	$lista = "SELECT * FROM menu WHERE men_idparent=".$base;
	$result = mysql_query($lista) or die("Query fallita");
  	$laymenu=$laymenu."<ul id=\"nav\">";
	while ($menu = mysql_fetch_array($result, MYSQL_ASSOC))
	{
		$laymenu=$laymenu."<li><a href=\"index.php\">".$menu["men_title"]."</
a></li>";
		$laymenu=$laymenu."".get_tree($menu["men_id"]);
	}
  	$laymenu=$laymenu."</ul>";
  	return $laymenu;
}
$laymenu=get_tree($base);
print($laymenu);
Utilizzando il CSS ho creato il menu ma non sono riuscito a creare una
funzione javascript che mi apra i sottolivelli. Da tenere presente che
il menu puo essere illimitato. Mi date una suggerimento? Non sono
molto pratico di javascipt. Grazieeee. Ciao

C'è un libro sui CSS, che a me piace molto: CSS guida completa della
Apogeo.
Dovresti riuscire facilmente a trovare online il codice di esempio,
c'è un capitolo dedicato proprio ai menù dove viene utilizzata una
funzione javascript (di non mi ricordo chi) che è molto funzionale e
sopprattutto non richiede nè conoscenze di javascript nè di php.

Grazie per la risposta, continuerò a cercare. Ciao.

l'url è 
http://www.constile.org/css_guida_completa
il capitolo dei menù è il 5 e gli esempi che interessano a te sono
sicuramente gli ultimi.

Ancora una volta grazie. ho scaricato gli esempi e vi è un menù che fa
al caso mio. l'unico problema è che una volta caricato sulla pagina mi
"sgancia" i sottomenù, non so se è un bug di IE.
Scaricando menù in javascript mi è capitato che questi non si
adattavano alla pagina, mi spiego: venivano sovrapposti alla pagina,
cosa alquanto inutile visto ke devo posizionare il menù in una
colonna. E' dovuto sempre a IE?
Ciao.

 colonna. E' dovuto sempre a IE?
Non riesco a capirti bene, se potessi pubblicare un url sarebbe
certamente meglio, ad ogni modo così su due piedi potrebbe essere un
problema css, ti ricordo che se utilizzi specifichi regole che
utilizzano contemporaneamente width, padding e/o border (direi quasi
sempre con un menù), IE<7 NON supporta gli standard CSS ed utilizza un
box-model tutto suo.
Esempio:
se vuoi un menù che a video sia un rettangolo con 1 pixel di bordo
largo 200px (bordi inclusi) e 2 px di padding devi scrivere:
...
sui browser seri:
border: 2px ...;
padding: 2px;
width: 192px;
sulle merdacce:
border: 2px;
padding: 2px;
width: 200px;
Quello che cambia è l'interpretazione della regola "width" dove nello
standard CSS rappresenta "lo spazio REALE del testo, senza bordi e
senza padding" mentre IE invece preferisce pensare al width come "lo
spazio TOTALE del blocco, inclusi bordi e padding".
Se non sapevi già quanto ti ho appena detto ti consiglio caldamente di
studiarti bene un po' di CSS ed imparare a giocare con ste cose
specificando fogli di stile specifici in base al browser per
correggere queste cappelle.
IE7 (finalmente) segue gli standard (almeno per quanto riguarda il box-
model).
ah, su IE6 e precedenti avrai anche interpretazioni divertenti di
margini e posizionamenti in alcuni casi di posizionamento non standard
(relative, fixed, float)
'njoy
----
"One World, One web, One program" - Microsoft Promo ad.
"Ein Volk, Ein Reich, Ein Führer" - Adolf Hitler

Sono riuscito ad adattare il menù.
Per quanto riguarda il secondo quesito, ho scaricato dei menù che
semplicemente vengono posti ad un livello superiore alla pagina. Cioè
non si innestano ai div o alle table "coprendo" gli elementi presenti
sulla pagina come una matita sullo schermo anche se tramite php o
altro li includi. Solo una curiosità.
Cmq grazie di tutto, ora funziona (nella speranza che non escano fuori
altri problemi).
Ciao.