ho riprovato con alcune modifiche suggerite da Xinod ma onmouseout scatta subito appena entro nel div con id 'menu':
ho usato onmouseout e il while
codice:window.onload = function(){menuInit('menu','bott')} function menuInit(m,b){ var stato = 'none'; var menu = document.getElementById(m); menu.style.display = stato; // click bottone apre/chiude var bott = document.getElementById(b); bott.onclick = function(){ stato = (menu.style.display=='none' || menu.style.display == '')?'block':'none'; menu.style.display = stato; if(stato == 'block'){ menu.onmouseout = obj; } return false; } function obj(e){ if(!e)e=window.event; var src=e.target?e.target:e.srcElement; //alert(src + ',' + src.parentNode) while(src = src.parentNode) { menu.style.display = 'none'; } } }

Rispondi quotando