Por favor, mira el siguiente:
Aquí es lo que está funcionando:
1.) botones superiores del menú son visibles y resaltan correctamente
2.) sub botones de menú no son visibles hasta se hace clic en el menú superior
Esto es lo que necesita el trabajo:
1.) cuando se hace clic submenú, en busca de nueva página para mantener el submenú seleccionado abierta (voy a destacar el submenú seleccionado botón durante más aclaraciones sobre la navegación)
por favor ver el código aquí: http://jsbin.com/ePawaju/1/edit
o aquí: http://www.ceramictilepro.com/_6testingonly.php#
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
¿Debo colocar este script en la sección principal? ¿Dónde está el mejor lugar?
<div class="left">
<nav class="vmenu">
<ul class="vnavmenu">
<li data-ref="Top1"><a class="hiLite navBarButton2" href="#">Home</a>
</li>
</ul>
<ul class="Top1 navBarTextSize">
<li><a class="hiLite navBarButton2_sub" href="http://www.ceramictilepro.com/_5testingonly.php">sub1</a>
</li>
<li><a class="hiLite navBarButton2_sub" href="http://www.ceramictilepro.com/_5testingonly.php">sub2</a>
</li>
<li><a class="hiLite navBarButton2_sub" href="http://www.ceramictilepro.com/_5testingonly.php">sub3</a>
</li>
<li><a class="hiLite navBarButton2_sub" href="http://www.ceramictilepro.com/_5testingonly.php">sub4</a>
</li>
</ul>
<ul class="vnavmenu">
<li data-ref="Top2"><a class="hiLite navBarButton2" href="#">Repairs</a>
</li>
</ul>
<ul class="Top2 navBarTextSize">
<li><a class="hiLite navBarButton2_sub" href="http://www.ceramictilepro.com/_5testingonly.php">1sub1</a>
</li>
<li><a class="hiLite navBarButton2_sub" href="http://www.ceramictilepro.com/_5testingonly.php">2sub2</a>
</li>
<li><a class="hiLite navBarButton2_sub" href="http://www.ceramictilepro.com/_5testingonly.php">3sub3</a>
</li>
<li><a class="hiLite navBarButton2_sub" href="http://www.ceramictilepro.com/_5testingonly.php">4sub4</a>
</li>
</ul>
</nav>
jQuery es nuevo para mí, cualquier ayuda sería apreciada enormemente :) submenú var;
$('.vnavmenu li').click(function() {
var elems = $('.vmenu ul:not(.vnavmenu)').length;
var $refClass = $('.' + $(this).attr('data-ref'));
var visible = $refClass.is(':visible');
$('.vmenu ul:not(.vnavmenu)').slideUp(100, function() {
if (elems == 1) {
if (!visible) $refClass.slideDown('fast');
}
elems--;
});
if (visible) $('#breadcrumbs-pc').animate({
'margin-top': '0rem'
}, 100);
else $('#breadcrumbs-pc').animate({
'margin-top': '5rem'
}, 100);
});
Suena como una buena idea, simple. Pero, ¿cómo alertar al id cada página? En el lado del servidor? – hguser
Para uno de mis sitios, las páginas eran html estáticas: este método simplemente simplificaba las actualizaciones (ya que el menú estaba en un archivo incluido, solo necesitaba modificarlo una vez si añadía una página nueva). Sin embargo, sí, necesitaría alguna forma de configurar la identificación del cuerpo en el lado del servidor. Cómo lo hace depende en gran medida de cómo ejecuta su sitio. Mi blog de Wordpress, por ejemplo, usa un tema que establece una 'clase' en la etiqueta del cuerpo de acuerdo con la página que se está viendo. – icabod
Este enfoque significa que debe tener un elemento de cuerpo en cada vista. No muy elegante. Es casi seguro que necesita JS para hacer esto de forma dinámica. jQuery lo hace bastante fácil. Mira mi respuesta a continuación. –