Javascript 在列表末尾,滚动至顶部
我有一个大的无序列表。当列表具有焦点时,我可以使用箭头键在列表上下移动,但是当我到达最后一个链接时,如果我再次按下向下箭头,我需要它将焦点返回到第一个链接。另外,如果我在第一个链接上,按下向上箭头,我需要它来聚焦最后一个链接 我试过和第一个孩子和最后一个孩子一起玩,但不知道怎么玩。任何帮助都将不胜感激 我有一个好朋友可以陪我玩 我尝试了很多方法,下面是一个例子:Javascript 在列表末尾,滚动至顶部,javascript,jquery,Javascript,Jquery,我有一个大的无序列表。当列表具有焦点时,我可以使用箭头键在列表上下移动,但是当我到达最后一个链接时,如果我再次按下向下箭头,我需要它将焦点返回到第一个链接。另外,如果我在第一个链接上,按下向上箭头,我需要它来聚焦最后一个链接 我试过和第一个孩子和最后一个孩子一起玩,但不知道怎么玩。任何帮助都将不胜感激 我有一个好朋友可以陪我玩 我尝试了很多方法,下面是一个例子: $("ul li a:last-child:after")$(this).parents('li').find('a:first-ch
$("ul li a:last-child:after")$(this).parents('li').find('a:first-child');
如前所述,强烈建议您查看该网站 至于解决办法: 构建中的答案,该答案将在所有项目中滚动。您需要做的是检查当前选择的项目是否是最后一个。jQuery有
.last()
方法,当您给它一个元素数组时,它将返回最后一个。在该示例中,它还将一类active
放在当前选定的元素上,因此您只需检查最后一个项目是否具有类“active”,您可以使用:
$(“li”).last().hasClass(“活动”)
然后,如果这是真的,您希望选择第一项。jQuery还有.first()
,它的作用与.last()
的作用相反。因此,您希望使用以下选项选择第一个元素:
$(“li”).first().focus()代码>
请记住,在代码示例中,当一个元素被“聚焦”时,它会得到应用于它的类“活动”
此处的工作解决方案:
如果你想做相反的事情,当某人到达顶部时,自动转到底部,只需将相反的代码放入“If key up”(即键代码38)部分。.oO(…一些关于…的阅读被跳过)太宽了@Louys Patrice Bessette抱歉,我刚刚开始学习jQuery。我还不能正确地将我的头缠绕在它周围。这与非常相似,只是您还想检查当前选定的项目与最后一个项目,然后如果它们匹配,则转到第一个项目。jQuery有一个。last()
方法。