Salve a tutti coloro che leggono questo thread. Ho un problema che mi porto avanti da alcuni giorni: non riesco a capire perchè il codice javascript in coda a questo file html non ha alcun effetto, ovvero non produce gli alert, nemmeno quello iniziale! Penso il mio si tratti di un errore comune, solo non programmando spesso in javascript non riesco ad individuarlo, qualcuno è in grado d'aiutarmi?
codice:
<html>
<head>
<style type="text/css">
/*<![CDATA[*/
/* aspetto */
div#menu ul {
list-style-type: none;
font: 11px/1.2 "Trebuchet MS", Arial, sans-serif;
border-bottom: 1px solid #ccc;
}
div#menu a {
height: 25px;
line-height: 25px;
text-decoration: none;
text-indent: 5px;
border: 1px solid #ccc;
border-bottom: 0;
background-color: #666;
color: #fff;
}
div#menu a:hover {
background-color: #fff;
color: #666;
}
/* posizionamento */
div#menu ul {
padding: 0;
width: 250px;
}
div#menu li {
position: relative;
}
div#menu li ul {
position: absolute;
top: 0;
left: 249px;
}
div#menu a {
display: block;
}
/* visibilità */
div#menu ul ul {
visibility: hidden;
}
div#menu ul li:hover ul {
visibility: visible;
}
div#menu ul li:hover ul ul {
visibility: hidden;
}
div#menu ul ul li:hover ul {
visibility: visible;
}
div#menu ul ul li:hover ul ul {
visibility: hidden;
}
div#menu ul ul ul li:hover ul {
visibility: visible;
}
div#menu ul ul ul li:hover ul ul {
visibility: hidden;
}
/*]]>*/
</style>
</head>
<body>
<div id='menu'>
<ul>[*]informazioni
<ul>[*]Corsa in Montagna[*]Duathlon[*]Mtb Bimbi[/list]
[*]notizie[*]gallerie fotografiche[*]organigramma[*]calendario[/list]
</div>
<script type="text/javascript">
<!--
alert("questo script trova la lunghezza adatta di ogni livello del menu a cascata");
function MenuLevelLength( obj, w, n ) {
w[n] = 0;
var children = obj.childNodes;
for( var i = 0; i < children.length; i++ ) {
if( children[i].tagName == 'A' ) {
children[i].style.display = "inline";
if( children[i].offsetWidth > w[n] )
w[n] = children[i].offsetWidth;
children[i].style.display = "block";
}
if( children[i].childNodes > 0 )
MenuLevelLength( children[i], w, n + 1 );
}
}
function MenuLevelsLengths( obj ) {
var w = array();
var n = 1;
MenuLevelLength( obj, w, n );
var levelNumber = 0;
for( var i = 1; i < w.length; i++ ) {
if( w[i] > 0 ) {
levelNumber++;
alert("livello n." . levelNumber . " width = " . w[i] );
}
}
}
var box = document.getElementByID( 'menu' );
MenuLevelsLengths( box );
//-->
</script>
</body>
</html>