Javascript addClass jquery循环

Javascript addClass jquery循环,javascript,jquery,html,Javascript,Jquery,Html,我正在做一个网络项目,每隔几秒钟就会有一个背景图像发生变化。问题是我不知道如何在所有图像完成旋转后返回第一个图像。在第三个图像之后,屏幕变为白色 html: <section class="slideshow"> <img src="img/img1.png" class="bgM show"/> <img src="img/img2.png" class="bgM"/> <img src="img/img3.jpg" class

我正在做一个网络项目,每隔几秒钟就会有一个背景图像发生变化。问题是我不知道如何在所有图像完成旋转后返回第一个图像。在第三个图像之后,屏幕变为白色

html:

<section class="slideshow">
    <img src="img/img1.png" class="bgM show"/>
    <img src="img/img2.png" class="bgM"/>
    <img src="img/img3.jpg" class="bgM"/>                   
</section>

第一个主要问题是,您的函数
开关
是一个保留字(即选择另一个名称[我选择了开关图片])

接下来,您可以检查“下一个”图像是否存在(
.length
)。如果没有,则将其设置为幻灯片中的第一个图像:

<section class="slideshow">
    <img src="img/img1.png" class="bgM show"/>
    <img src="img/img2.png" class="bgM"/>
    <img src="img/img3.jpg" class="bgM"/>                   
</section>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
function switch_images() {
    var $active = $('.slideshow IMG.show');
    var $next = $active.next();

    if(!$next.length){
        $next = $('.slideshow IMG:first');
    }

    $active.removeClass('show');
    $next.addClass('show');
}

$(function() {
    setInterval( "switch_images()", 8000 );
});
</script>

功能开关_images(){
var$active=$('.slideshow IMG.show');
var$next=$active.next();
如果(!$next.length){
$next=$('.slideshow IMG:first');
}
$active.removeClass('show');
$next.addClass('show');
}
$(函数(){
设置间隔(“切换图像()”,8000);
});

不需要额外的代码。只需对图像元素集使用带mod的迭代器

$(函数(){
var slide=$(“.slideshow”),cur=0;
setInterval(函数(){
$('.show',slide).removeClass('show');
$('img',slide).eq(++cur)%3.addClass('show');
},1000);//仅出于演示目的使用1000
});
.slideshow img.show{
边框:2倍纯红;
显示:块;
}
.幻灯片{
显示:无;
}

感谢所有有用的建议,这个答案对我想做的事情很有效。
<section class="slideshow">
    <img src="img/img1.png" class="bgM show"/>
    <img src="img/img2.png" class="bgM"/>
    <img src="img/img3.jpg" class="bgM"/>                   
</section>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
function switch_images() {
    var $active = $('.slideshow IMG.show');
    var $next = $active.next();

    if(!$next.length){
        $next = $('.slideshow IMG:first');
    }

    $active.removeClass('show');
    $next.addClass('show');
}

$(function() {
    setInterval( "switch_images()", 8000 );
});
</script>