Tengo un menú creado con jQuery y Css de la siguiente forma:
La parte JS:
Código PHP:
$(document).ready(function(){
// Prueba para lo que explico mas abajo,
// obviamente, esto inutiliza todo los menús,
// a ver si me dais una idea...
$('ul li:has(ul)').click(function(){
$(this).find('ul').slideDown("slow");
return false;
});
$('ul li:has(ul)').hoverIntent({
sensitivity: 3,
interval: 220,
over: makeVisible,
timeout: 100,
out: makeInvisible,
});
});
function makeVisible(){
$(this).find('ul').slideDown("slow");
}
function makeInvisible(){
$(this).find('ul').slideUp("fast");
}
Código PHP:
<style>
li ul{
display:none;
}
</style>
<ul>
<li>
<a href="destino-A.html">Seccion A</a>
<ul>
<li>Sección A.1</li>
<li>Sección A.2</li>
<li>Sección A.3</li>
</ul>
</li>
<li><a href="destino-B.html">Seccion B</a></li>
<li>
<a href="destino-C.html">Seccion C</a>
<ul>
<li>Sección C.1</li>
<li>Sección C.2</li>
<li>Sección C.3</li>
</ul>
</li>
<li><a href="destino-D.html">Seccion D</a></li>
<li><a href="destino-E.html">Seccion E</a></li>
</ul>
Al clickar en una sección que no tenga ninguna lista anidada, respete el enlace sin ningún return false, al clickar en una sección que tenga una lista anidada, portanto, un "menú desplegable", al hacer click, no espere el tiempo que tenga que estar el ratón encima y despliege el menú, y que una vez desplegado, si vuelve a hacer click en dicha sección, entonces el enlace vuelva a return true...
Sería tan sencillo como meterle un return false al enlace manualmente que no quiera que se siga el hipervínculo, pero al tratar de crear un menú automatizado, esto no es viable...
Lo siento por el tocho, espero haberme expresado bien y espero vuestra ayuda.
Gracias por alantado!