Мне нужна помощь в jQuery, и я очень надеюсь, что я смогу найти здесь какую-то помощь. Я хотел бы, когда я использую свои навигационные стрелки (следующий/предыдущий), когда я нахожусь в скрытом элементе, который родительский элемент остается выделенным. Для первого предмета домой он работает, но для остальных нет. Кто-нибудь может мне помочь?
<div id="cssmenu">
<ul id="list">
<li><a href="#home">Home</a></li>
<ul class="hide"><li><a href="#home2"></a></li></ul>
<li><a href="#newsletter">Newsletter</a></li>
... </div>
Я пытался что-то поиграть:
$(document).ready(function(){
$('#cssmenu').find('li.active').removeClass('active');
//adding the state for this parent menu
$(this).parents('li').addClass('active');
});
Я управляю своей следующей и предыдущей кнопками:
$( "#next, #prev" ).click( function ( event ) {
var
positionActiveClass = menu.find( "> li.active" ).index(),
menuLength = menu.find( "> li" ).length - 1,
buttonId = $( this ).attr( "id" );
if ( buttonId === "next" ) {
if ( positionActiveClass === ( menuLength ) ) {
newElementActiveClass = menu.find( "li" ).eq( 0 );
newPositionActiveClass = newElementActiveClass.find( "> a" ).attr( "href" );
animation( newPositionActiveClass );
} else {
newElementActiveClass = menu.find( "li" ).eq( positionActiveClass + 1 );
newPositionActiveClass = newElementActiveClass.find( "> a" ).attr( "href" );
animation( newPositionActiveClass );
}
} else {
if ( positionActiveClass === 0 ) {
newElementActiveClass = menu.find( "li" ).eq( menuLength );
newPositionActiveClass = newElementActiveClass.find( "> a" ).attr( "href" );
animation( newPositionActiveClass );
} else {
newElementActiveClass = menu.find( "li" ).eq( positionActiveClass - 1 );
newPositionActiveClass = newElementActiveClass.find( "> a" ).attr( "href" );
animation( newPositionActiveClass );
}
}
event.preventDefault();
} );
После первого li есть дополнительная ul, у которой есть скин класса. Для чего это? Просто удалите эту улицу, и все работает нормально.