所以我正在构建一个非常简单的带有 4 个 div 的轮播。它使用 2 个 jQuery 函数将 div 设置为第一个或最后一个位置。只有 alpha 转换,因为我不需要移动。
出于某种原因,虽然我可以使用 .eg(n) 等访问我的 div,但第一个、最后一个和其他各种数字在此函数中不起作用。
代码:
$('#prev').click(function() {
$('.container .divname').animate({opacity: 0}, 1000,function(){
$('.container .divname:first').before($('.container .divname:last'));
$('.container .divname').animate({opacity: 1}, 1000);
});
return false;
});
所以这个功能不起作用。
$('#prev').click(function() {
$('.container .divname').animate({opacity: 0}, 1000,function(){
$('.container .divname:eq(0)').before($('.container .divname:eq(3)'));
$('.container .divname').animate({opacity: 1}, 1000);
});
return false;
});
这也不起作用,但是如果我将eq(3)更改为eq(2)它可以,但显然错过了我的一个 div。我仍然可以访问 eq(3),因为我对其进行了测试,并将其设置为红色背景。
$('.container .divname:eq(3)').css({'background-color' : '#ff0000'});
这有效...
谁能告诉我为什么会发生这种情况?
html示例如下
<html>
<div class="container">
<div class="divname">
<p>some content</p>
</div>
<div class="divname">
<p>some content</p>
</div>
<div class="divname">
<p>some content</p>
</div>
<div class="divname">
<p>some content</p>
</div>
</div>
</html>
编辑:
我已经为观众中的 w3c 孩子们将所有 id 更改为 class。问题仍然存在。