我的问题是2折。我有以下代码:
$photosContainer = $("#photos-fs")
$photos = $photosContainer.find(".photo");
$length = $photos.length;
if ($length > 1) {
setTimeout(showNextPhoto, 3000);
}
function showNextPhoto() {
//$current = $photos.eq(0); <-- this works
//$next = $photos.eq(1); <-- this works
$current = $photos.find(".current"); <-- this does not
$next = $current.next(); <-- this does not
//do stuff with the selected elements here
}
我想要实现的基本上是在容器及其下一个兄弟(或组中的第一个,如果当前是最后一个)中找到.current分类元素,然后通过添加css类来动画它们。问题是虽然我可以使用.eq(0)和.eq(1)来获得元素,但是它们不会被选中&#34;对&#34;使用类(.current)或next()函数时。如果我控制台记录对象,我会得到适当的对象吗?
我总是使用find(&#34; .blahblah&#34;)的方式在组内的分类元素之间导航,所以不确定为什么它不能在这里工作?可能会有些愚蠢吗?
作为参考,这是html结构:
<div id="photos-fs">
<div class="photo current" style="background-image: url(images/fs-image-01.jpg);"></div>
<div class="photo" style="background-image: url(images/fs-image-02.jpg);"></div>
</div>
此外,是否有一个漂亮的外观和优雅的方式来测试最后一个项目,所以如果当前项目是最后一个(也许是.last?),你能和我分享一下吗?
喝彩!