简体   繁体   English

菜单遍历next和prev按钮单击

[英]menu traversing on next and prev button click

can any one optimize this code i am new to jquery . 可以任何人优化这个代码我是jquery的新手。 i want add class on next and previous button click.any way i wrote this code it's working for me but if any one optimize this code using jquery predefined methods .then it will more helpful.. Thanks in advance 我想在下一个和上一个按钮点击添加类。我编写这个代码的方式它适用于我,但如果任何人使用jquery预定义方法优化此代码。然后它会更有帮助..在此先感谢

$(document).ready(function () {
    var length = $('#slides li').size() - 1;
    var curren = 0;
    console.log(length);
    $('.next').on('click', function () {
        if (curren >= 0 && curren < length) {
            curren++;
            $('.selected').removeClass('selected');
            $('#slides li:eq(' + curren + ')').addClass('selected');
        }
    });
    $('.prev').on('click', function () {
        if (curren >= 1) {
            curren--;
            $('.selected').removeClass('selected');
            $('#slides li:eq(' + curren + ')').addClass('selected');
        }
    });
});

my html code 我的HTML代码

<ul id="slides">
    <li class="selected">first</li>
    <li>second</li>
    <li>third</li>
    <li>fourth</li>
    <li>five</li>
    <li>six</li>
</ul>

You should have a look at $.next and $.prev . 你应该看看$ .next$ .prev

Your code can easily be altered into something along these lines: 您可以轻松地将代码更改为以下内容:

$(".next").on("click", function() {
  var selected = $("#slides li.selected");
  var next = selected.next();
  if(next.length){next.addClass("selected");selected.removeClass("selected");}
});
$(".prev").on("click", function() {
  var selected = $("#slides li.selected");
  var prev = selected.prev();
  if(prev.length){prev.addClass("selected");selected.removeClass("selected");}
});

Example can be found here: jsbin 示例可以在这里找到: jsbin

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM