jquery prev和下一个幻灯片按顺序重复

我想问为什么下面的代码不能按顺序通过1,2,3,1,2,3(
jsfiddle)

而我继续按“下一步”.

当我在Chrome中打开并运行以下代码时,它无法按顺序运行代码“1,2,3”(它在3处停止).

HTML

<div id="slides">
   <ul class="options-list">
   <li><input type="radio" class="getradiotomove" id="bundle-73" name="bundle_option"checked="checked" value="73"></li>
   <li><input type="radio" class="getradiotomove" id="bundle-72" name="bundle_option" value="72"></li>
   <li><input type="radio" class="getradiotomove" id="bundle-74" name="bundle_option" value="74"></li>
</div>

<div id="buttons">
   <a href="#" id="prev">prev</a>
   <a href="#" id="next">next</a>
   <div class="clear"></div>
</div>

JS

$('#next').click(function() {
    var $all     = $('.getradiotomove');
    var $current = $('.getradiotomove:checked');

    var index = $all.index($current) + 1;
    if(index >= $all.length)
        index = 0;
    $($all[index]).attr('checked', 'checked');
    return false;
});

最佳答案 在这里,您将再采用一种方法
http://jsfiddle.net/hTgv3/162/

$('#next').click(function() {
    if($('.getradiotomove:checked').parent().is(':last-child')){
    	$('ul[class="options-list"] > li')
      	.first()
        .find('.getradiotomove')
	      .prop('checked', true);
    } else {
    	$('.getradiotomove:checked')
        .parent()
        .next('li')
        .find('.getradiotomove')
        .prop('checked', true);
    } 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="slides">
    <ul class="options-list">
        <li><input type="radio" class="getradiotomove" id="bundle-73" name="bundle_option" value="73" checked></li>
        <li><input type="radio" class="getradiotomove" id="bundle-72" name="bundle_option" value="72"></li>
        <li><input type="radio" class="getradiotomove" id="bundle-74" name="bundle_option" value="74"></li>
    </ul>
</div>

<div id="buttons">
    <a href="#" id="prev">prev</a>
    <a href="#" id="next">next</a>
    <div class="clear"></div>
</div>

希望这能帮助您解决问题.

点赞