简体   繁体   English

自动滑块滚动无法正常工作

[英]Automatic slider scrolling doesn't work correct

Hi!I try to create a automatic scrolling slider. 您好!我尝试创建一个自动滚动滑块。 So it works good, but 所以效果很好,但是
when it comes to the last slide it does not switch to the first but stops. 当涉及到最后一张幻灯片时,它不会切换到第一张,而是停止。 Look at my html and JavaScript code, i think that the problem is in JS code. 看我的html和JavaScript代码,我认为问题出在JS代码中。 Thanks: 谢谢:

 var inputs = $('input'); setInterval(()=>{ var next = inputs.filter(":checked").next('input'); if (!next.length) next=inputs.first(); next.prop('checked', true); }, 300); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="slider"> <input type="radio" name="slides" id="slide1" checked> <input type="radio" name="slides" id="slide2" > <input type="radio" name="slides" id="slide3" > <input type="radio" name="slides" id="slide4" > <input type="radio" name="slides" id="slide5" > <input type="radio" name="slides" id="slide6" > <div class="slider_helper"> <div class="captions"> <div class="c2">Prediction 2</div> <div class="c3">Prediction 3</div> <div class="c4">Prediction 4</div> <div class="c5">Prediction 5</div> <div class="c6">Prediction 6</div> </div> <div class="img img1"></div> <div class="img img2"></div> <div class="img img3"></div> <div class="img img4"></div> <div class="img img5"></div> <div class="img img6"></div> </div> <div class="side-controls"> <label for="slide1"></label> <label for="slide2"></label> <label for="slide3"></label> <label for="slide4"></label> <label for="slide5"></label> <label for="slide6"></label> </div> <div class="controls"> <label for="slide1"></label> <label for="slide2"></label> <label for="slide3"></label> <label for="slide4"></label> <label for="slide5"></label> <label for="slide6"></label> </div> </div> 

You should use something like this: 您应该使用这样的东西:

<script type="text/javascript">
var inputs = $('input');
 var currentInput = inputs.first();
    setInterval(()=>{
        currentInput.prop('checked', true);
        if (currentInput.index()==inputs.last().index()) {
            currentInput = inputs.first();
        } else
            currentInput = inputs.filter(":checked").next('input');
    }, 300);
</script>

Change Input Type in to radio input[type=radio] 将输入类型更改为单选input[type=radio]

var inputs = $('input[type=radio]');
    setInterval(()=>{
        var next = inputs.filter(":checked").next('input');
        if (!next.length) next=inputs.first();
        next.prop('checked', true);
    }, 500 );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM