猿问

JQUERY遍历问题。

具体结构如下

html

<div class="list">

    <img src="" />

</div>

<div class="item">

    <div class="img active"><img src="images/01.jpg" /></div>

    <div class="img"><img src="images/02.jpg" /></div>

    <div class="img"><img src="images/03.jpg" /></div>

    <div class="img"><img src="images/04.jpg" /></div>

    <div class="img"><img src="images/05.jpg" /></div>

</div>

<div class="r-button">点我切换下一张</div>


我写的JQUERY


$('.r-button').on('click',function(){

    $('.item .img').each(function(){

        if($(this).is('.active')){

            var num = $(this).index() + 1;

            var img = $('.item .img').eq(num).children('img').attr('src');

            $('.item .img').eq(num).addClass('active').siblings().removeClass('active');

            $('.list img').attr('src',img);

        }

    });

});

问题描述:
我当前想实现的效果是,点击.r-button会获取下一张图片src并把值传到.listDIV里的img来显示。并把当前所在的.active给所切换的.imgDIV上。请问,我写的JQUERY哪里出了问题?还望解答,非常感谢!~

慕斯709654
浏览 649回答 2
2回答

暮色呼如

把你切换的操作 别在遍历里面写 这个是最严重的 其他的吃完饭在给你看看?你可以想想 第一个active&nbsp;然后 转移到第二个 第二个也符合条件了 又转移了。。。。。。。。。。逻辑就有问题

DIEA

//点击.r-button$('.r-button').on('click',function(){&nbsp; &nbsp; //会获取下一张图片src&nbsp; &nbsp; var $active = $('.item').children('.active');&nbsp; &nbsp; var nextSrc = $active.next().attr('src');&nbsp; &nbsp; //并把值传到.listDIV里的img来显示&nbsp; &nbsp; $('.list').children('img').attr('src', nextSrc);&nbsp; &nbsp; //并把当前所在的.active给所切换的.img DIV上&nbsp; &nbsp; $active.removeClass('active').next().addClass('active');});你自己讲逻辑的时候也没说“每一个”、“都”这种东西呀,怎么写起来的时候就带上遍历了呢?
随时随地看视频慕课网APP
我要回答