我正在使用next()函数显示一系列元素。当我到达终点时,我想去第一个元素。有什么想法吗
代码如下:
//Prev / Next Click
$('.nextSingle').click( function() {
//Get the height of the next element
var thisHeight = $(this).parent().parent().parent().next('.newsSingle').attr('rel');
//Hide the current element
$(this).parent().parent().parent()
.animate({
paddingBottom:'0px',
top:'48px',
height: '491px'
}, 300)
//Get the next element and slide it in
.next('.newsSingle')
.animate({
top:'539px',
height: thisHeight,
paddingBottom:'100px'
}, 300);
});
基本上,我需要一个“if”语句,它说“如果没有剩余的‘next’元素,那么找到第一个”。
谢谢!
4条答案
按热度按时间jbose2ul1#
通过检查
length
属性提前确定.next()
。顺便说一下,你可以用
.closest('.newsSingle')
替换.parent().parent().parent()
(如果你的标记允许的话)。**编辑:**我更正了
thisHeight
,使用了我们引用的$next
元素。khbbv19g2#
作为一个有用的参考,下面是一个可以编写和包含的函数:
而不是:
它将是:
参考:http://www.mattvanandel.com/999/jquery-nextorfirst-function-guarantees-a-selection/
e0uiprwp3#
根据jQuery文档,空的jQuery对象将返回.length 0。
所以你需要做的是在调用.next时检查返回,然后调用:first
http://api.jquery.com/next/
uubf1zoe4#
您可以使用这些函数来查看当前项是否是第一个/最后一个子项。