jquery是否显示同一类的下一个div?

jquery是否显示同一类的下一个div?,jquery,Jquery,我有一堆像这样的div <div class="slides"> <div id="box_bg"> <div class="previous"></div> <img src="images/minido_pic.png" width="267" height="252" alt="MiniDo" clas

我有一堆像这样的div

            <div class="slides">
                <div id="box_bg">
                    <div class="previous"></div>
                    <img src="images/minido_pic.png" width="267" height="252" alt="MiniDo" class="img1" />
                    <div class="next"></div>
                </div>
                <div id="text1">
                    <p>MiniDo - Adobe Air App - Simplistic design wrapped around a simple iOS style window built for the Windows environment using Adobe Air.</p>
                </div>
            </div>
现在我想做的是在页面加载时,显示一个随机的“.slides”,它可以正常工作。然后,当用户按“.next”或“.previous”时,它将加载下一个“.slides”

然而,我似乎无法让它工作?当我按“下一步”或“上一步”时,它不会显示任何内容

有什么帮助吗?

您应该使用

以前

$(this).closest('.slides').prevAll('.slides').eq(0).show();
下一个呢

$(this).closest('.slides').nextAll('.slides').eq(0).show();
最重要的是在显示下一张幻灯片之前,先隐藏
.slides

因此,
$('.slides').hide()
应该在
.show()
命令之前,否则,只需显示所需的代码,然后隐藏所有代码(包括刚才显示的代码)


总共

$('.previous').click(function() {
    $('.slides').hide();
    var previous = $(this).closest('.slides').prevAll('.slides').eq(0);
    if (previous.length === 0) previous = $(this).closest('.slides').nextAll('.slides').last();
    previous.show();
});

$('.next').click(function() {
    $('.slides').hide();
    var next = $(this).closest('.slides').nextAll('.slides').eq(0);
    if (next.length === 0) next = $(this).closest('.slides').prevAll('.slides').last();
    next.show();
});

太好了,我该怎么处理结局呢?有没有办法让我检查下一个是否是第一个?我尝试了你的代码并进行了一些编辑,但我的代码没有正常工作:谢谢。@SiKni8你的代码的不同之处在于按钮不在幻灯片中。看到固定的小提琴了吗
$('.previous').click(function() {
    $('.slides').hide();
    var previous = $(this).closest('.slides').prevAll('.slides').eq(0);
    if (previous.length === 0) previous = $(this).closest('.slides').nextAll('.slides').last();
    previous.show();
});

$('.next').click(function() {
    $('.slides').hide();
    var next = $(this).closest('.slides').nextAll('.slides').eq(0);
    if (next.length === 0) next = $(this).closest('.slides').prevAll('.slides').last();
    next.show();
});