下一个上一个jquery箭头高亮菜单

时间:2014-04-07 12:10:18

标签: jquery html css menu

我正在尝试在我的菜单下添加一个下一个和上一个按钮,这会突出显示我的项目。

当我用菜单上的鼠标光标点击每个部分时,它可以正常工作。我突出了每个项目。

我的问题就像当我们点击下一个或上一个按钮时,我的菜单上没有高亮显示项目。

我的Jquery代码出了什么问题?

这是我的Fiddle

<div id="cssmenu">
    <ul id="list">
        <li class='active'><a id="testSlide1" href='#'><span>Home</span></a></li>
        <li><a id="testSlide2" href='#'><span>Products</span></a></li>
        <li><a id="testSlide3" href='#'><span>About</span></a></li>
        <li><a id="testSlide4" href='#'><span>Contact</span></a></li>
    </ul>
</div>
<nav class="da-arrows">

<button id="PrevButton">Previous</button>
<button id="NextButton">Next</button>
</nav>

<script>
    $("a").click(function(){
      // If this isn't already active
      if (!$(this).parent().hasClass("active")) {
        // Remove the class from anything that is active
        $("li.active").removeClass("active");
        // And make this active
        $(this).parent().addClass("active");
      }
    });

    $('a').click(function(e){
        e.stopPropagation();
    });

    var list = $("#list");
    var li = list.children();
    var lengthMinusOne = li.length - 1;
    var index = 0;
    var num = $("#list li").length;

    var prevLi = $(li[0]).hasClass("active");

    $("#NextButton").click(function(){
       index++;
       if (index > lengthMinusOne) index = 0;
       prevLi.removeClass("active");
       prevLi = $(li[index]).addClass("active");
    });
    $("#PrevButton").click(function(){
       index--;
       if (index < 0) index = lengthMinusOne;
       prevLi.removeClass("active");
       prevLi = $(li[index]).addClass("active");
    });
</script>

我该怎么做?

1 个答案:

答案 0 :(得分:0)

$("#NextButton").click(function(){
   index++;
   if (index > lengthMinusOne) index = 0;
   prevLi.removeClass("active");
   prevLi = $(li[index]).addClass("active");
});

演示:

http://jsfiddle.net/tJ9aj/