Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在列表末尾,滚动至顶部_Javascript_Jquery - Fatal编程技术网

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()
方法。