Tengo una página relativamente simple que tiene un par de entradas LI que quiero poder mostrar al hacer clic. La idea es simular la lógica de PowerPoints donde aparecen grupos de elementos cuando haces clic en la página.El método jQuery show() restablece las entradas "li" para mostrar: bloque
En el "click()" controlador para el elemento padre "div" Tengo:
$(function() {
var currentReveal;
var currentGroup = 1;
currentReveal = $("[class*=Revealed]").hide().length;
$("div").click(function() {
if (currentReveal != 0) {
var revealedElements = $("[class*=Revealed]").filter("[revealgroup='" +
currentGroup + "']");
$(revealedElements).show("normal");
currentGroup += 1;
currentReveal -= revealedElements.length;
}
});
El HTML que esto está actuando en es:
<div class="Body">
<ul>
<li>Lorem Ipsus</li>
<ul>
<li class="RevealedList" revealgroup="1" >Lorem Ipsus:</li>
<ul class="Revealed" revealgroup="1">
<li>Lorem Ipsus.</li>
<li>Lorem Ipsus.</li>
</ul>
<li class="RevealedList" revealgroup="1">Lorem Ipsus</li>
</ul>
</div>
Por desgracia, cuando el espectáculo () el comando termina de ejecutarse, la entrada "li" tiene un estilo de "display: block" y no un estilo de "display: list-item" (verificado con firebug e IE). Sé que puedo solucionar este problema trivialmente (actualizando el código para corregir el estilo después de que se haya completado el método "show()"), pero me gustaría saber qué estoy haciendo mal.
Hmmm ... Acabo de ver la base de datos de errores jQuerys y encontré: http://dev.jquery.com/ticket/5130, lo que implica que podría tratarse de un error de jQuery. –
Acabo de actualizar el ticket con una corrección: http://dev.jquery.com/ticket/5130#comment:3 – PetersenDidIt
Gracias petersendidit. –