【发布时间】:2014-05-12 11:42:55
【问题描述】:
我需要一些关于 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();
} );
【问题讨论】:
-
无法阅读您的整个代码,但我可以告诉您,您正在以一种非常模棱两可的方式做简单的事情。
-
您好阿米尔,感谢您的回复。你看我的小提琴了吗?其实比如我想模拟一个item的连续性,home2就是home的连续性。问题是,当我单击下一步时,home 仍然高亮显示,这没关系,但我在隐藏的 home2 上一直被阻止。我无法转到下一项。
标签: javascript jquery menu navigation