jQuery技术:如何使用两个按钮上下导航?

我有一个简单的ul,需要能够使用向上和向下按钮在不同的li上上下导航。 这样,当单击向上按钮并选择每个li时,直到它到达ul的顶部,然后您可以按下向下按钮导航回来,选择下一个li,每次单击按钮。

不知道如何去做…

 

我正在使用以下jQuery代码来切换活动li的类…

  $("li:not(.active)").live("click", function() { $(this).addClass("menuActive"); $(this).siblings().removeClass("menuActive"); }); 

    可能是这样的:

    演示

      Up Down $(document).ready(function () { $('#btnDown').click(function () { var $current = $('#MainMenu ul li.active'); if ($current.next().length > 0) { $('#MainMenu ul li').removeClass('active'); $current.next().addClass('active'); } }); $('#btnUp').click(function () { var $current = $('#MainMenu ul li.active'); if ($current.prev().length > 0) { $('#MainMenu ul li').removeClass('active'); $current.prev().addClass('active'); } }); }); 

    或者使用键盘导航:

      $(window).keyup(function (e) { var $current = $('#MainMenu ul li.active'); var $next; if (e.keyCode == 38) $next = $current.prev(); if (e.keyCode == 40) $next = $current.next(); if ($next.length > 0) { $('#MainMenu ul li').removeClass('active'); $next.addClass('active'); } }); 

    使用keydown侦听器并使用键38和40作为向上和向下箭头。

     $(document).keydown( function(e) { var keyCode = e.keyCode || e.which; if ( keyCode === 38 ) { // up arrow pressed } else if ( keyCode === 40 ) { // down arrow pressed } }); 

    试试这个。 (您需要首先单击主体才能使其工作)。

    需要了解更多jQuery教程分享如何使用两个按钮上下导航?,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!

     var selid=0; var numlis =$("#MainMenu > ul > li").length; $(licn(0)).addClass("menuActive"); $("li:not(.active)").live("click", function() { $(this).addClass("menuActive"); $(this).siblings().removeClass("menuActive"); }); $("body").live("keydown",function(e) { if(e.which==38) { changeSel(-1); } else if(e.which==40) { changeSel(1); } }); function licn(n) { return "#MainMenu > ul > li:nth-child("+(n+1)+")"; } function changeSel(dir) { $(licn(selid)).removeClass("menuActive"); selid+=dir; selid%=numlis; if(selid<0) { selid+=numlis; } $(licn(selid)).addClass("menuActive"); } 

      以上就是jQuery教程分享如何使用两个按钮上下导航?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/981263.html

      (0)
      上一篇 2021年12月12日
      下一篇 2021年12月12日

      精彩推荐