Sin tocar el CSS, poniendo el JS asi:
Código:
muestra = function() {
if(document.getElementById('mostrar').style.display == 'block') {
document.getElementById('mostrar').style.display = 'none';
} else {
document.getElementById('mostrar').style.display = 'block';
}
}
window.onload = function() {
muestra();
}
y el HTML así:
Código:
<nav>
<a onmouseover="muestra();"><img src="menu.png"></a>
<ul id="mostrar">
<li>Inicio</li>
<li>Contacto</li>
<li>Mis cosas</li>
<li>Enlaces</li>
<li>Mapa del Sitio</li>
</ul>
</nav>
A mi si me funciona. Al hacer click en la imagen se ve o se oculta la capa.