I don't understand anything at all in js. I found a script that displays pictures in random order and it works fine. But it became necessary to display pictures in order on some pages. Help, please, correct the script.

<script type="text/javascript"> $(function () { var current = 0, $imgs = jQuery('#exercise .cbk'); imgAmount = $imgs.length; $($imgs.css('position', 'relative').hide().get(0)).show(); window.setInterval(swapImages, getUrlVars()["speed"]); function swapImages() { var $currentImg = $('.cbk:visible'); var $nextImg = $('.cbk:hidden').eq(Math.floor(Math.random() * $('.cbk:hidden').length)); speed = 0; $currentImg.fadeOut(speed); $nextImg.fadeIn(speed); } }); </script> 

html:

  <div id="exercise"> <div class="cbk"> <img src="images/00.jpg" /> </div> <div class="cbk"> <img src="images/01.jpg" /> </div> <div class="cbk"> <img src="images/02.jpg" /> </div> <div class="cbk"> <img src="images/03.jpg" /> </div> </div> 
  • Add a double slash (//) before window.setInterval (swapImages, getUrlVars () ["speed"]); What would be //window.setInterval(swapImages, getUrlVars () ["speed"]); - Andy

1 answer 1

Replace the line:

 var $nextImg = $('.cbk:hidden').eq(Math.floor(Math.random() * $('.cbk:hidden').length)); 

On

 var $nextImg = $('.cbk:visible + .cbk').get(0) ? $('.cbk:visible + .cbk') : $('.cbk').eq(0);