具体结构如下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哪里出了问题?还望解答,非常感谢!~
2 回答

暮色呼如
TA贡献1853条经验 获得超9个赞
把你切换的操作 别在遍历里面写 这个是最严重的 其他的吃完饭在给你看看?
你可以想想 第一个active
然后 转移到第二个 第二个也符合条件了 又转移了。。。。。。。。。。逻辑就有问题

DIEA
TA贡献1820条经验 获得超2个赞
//点击.r-button
$('.r-button').on('click',function(){
//会获取下一张图片src
var $active = $('.item').children('.active');
var nextSrc = $active.next().attr('src');
//并把值传到.listDIV里的img来显示
$('.list').children('img').attr('src', nextSrc);
//并把当前所在的.active给所切换的.img DIV上
$active.removeClass('active').next().addClass('active');
});
你自己讲逻辑的时候也没说“每一个”、“都”这种东西呀,怎么写起来的时候就带上遍历了呢?
添加回答
举报
0/150
提交
取消