Turn on / off multiple images

I have about 20 different images that I want to fade in and out in 4 drawers. I need it to arbitrarily select an image from the list of images and display it.

Boxing example photo1, photo2, photo3, photo4 - their names. They must be individually named as they are completely positioned.

    <div id="photo1">
    <img src="images/photo.jpg" width="300" height="300" />
    <img src="images/photo2.jpg" width="300" height="300" />
    <img src="images/photo3.jpg" width="300" height="300" />
    <img src="images/photo4.jpg" width="300" height="300" />
    <img src="images/photo5.jpg" width="300" height="300" />
    </div>

jquery bye

<script type="text/javascript">

//generate random number
var randomnumber=Math.floor(Math.random()*$("#photo1").children().length);
$(function() {
    //hide all the images (if not already done)
    $("#photo1 > img").hide();

    //set timeout for image to appear (set at 500ms)
    setTimeout(function(){
       //fade in the random index of the image collection
       $("#photo1 > img:eq(" + randomnumber + ")").fadeIn();
    }, 500);       
});
</script>
+3
source share
2 answers

I updated the code:

$(function() {
    // match all divs with ID starting with 'photo'
    $("div[id^=photo] > img").hide();
    setTimeout(function(){
       $("div[id^=photo]").each(function() {
           var rand = Math.floor(Math.random() * $(this).children().length);
           $(this).find('img:eq(' + rand + ')').fadeIn();
       });
    }, 500);       
});

See http://api.jquery.com/attribute-starts-with-selector/

+1
source

jQuery loop

Very comfortably.

0
source

Source: https://habr.com/ru/post/1776932/


All Articles