Мы могли бы использовать jQuery и манипулировать DOM с помощью событий, которые имели бы больше смысла в этой ситуации. Событие «щелчка» может быть вызвано, когда пользователь нажимает на изображение. Вы можете сохранить изображения в наборе, а когда количество кликов превышает длину набора, отобразите первую карточку и начните процесс заново. Вот пример кода JavaScript с использованием библиотеки jQuery:
$(document).ready(function (){
var card = $('.card'); //store each card with an image in it in a set
card.css('cursor', 'pointer'); //set the cursor to pointer to make a click obvious to user
card.not(':first').hide(); //hide all but the first image (card)
count = 1; //set the initial click count to one
card.on('click', function() { //listen for an image to be clicked
$(this).hide(); //hide the image that has been clicked
$(this).next().show(); //show the next image
count++; //increment the count
if(count > card.length) { //if the count is greater than the length of the set, you are out of images (cards)
count = 1; //reset the count
card.first().show(); //show the first card and start process over
}
});
});
Это код html, который я использую для имитации событий, которые вы ищете:
<div class="card" style="max-width: 18rem;">
<img class="card-img-top" src="/path">
<div class="card-body">
<p>This is a random card and stuff</p>
</div>
</div>
<div class="card" style="max-width: 18rem;">
<img class="card-img-top" src="/path">
<div class="card-body">
<p>This is a random card and stuff</p>
</div>
</div>
<div class="card" style="max-width: 18rem;">
<img class="card-img-top" src="/path">
<div class="card-body">
<p>This is a random card and stuff</p>
</div>
</div>
Как видите, у нас есть три карты, которые в основном хранят наши изображения. Если вам просто нужны изображения, а не карты, то делайте это, потому что эта часть тривиальна. Здесь важна логика программирования c. Я просто установил бы счетчик, и как только этот счетчик превысил бы длину набора (коллекции) карт (набор / коллекция является объектом массива), затем снова показал бы первую карту и начал процесс заново, как я показал вам. в JavaScript.