Witajcie mam prostego slajdera który wyświetla dane przez php z bazy i teraz kombinuje jak zrobić żeby dane były wyświetlane (a dokładnie konkretna karta z tymi danymi) przez określony czas tzn, np zaznaczam że ma być od 12-12-2022 do 15-12-2022 się wyświetlać i po tym czasie już nie i przed tym czasem też nie i mam problem bo nie bardzo umiem wykombinować jak ukryć karty(div) żeby był pomijany przez slajdera jeśli nie spełni tych kryteriów
<section id="news">
<div class="blog-slider">
<div class="do-wybrania">
<div class="blog-slider__item" data-start="<?= $homeInfoo['info_add']; ?>" data-stop="<?= $homeInfoo['info_end']; ?>">
<div class="blog-slider__img ">
<img src="" alt="">
</div>
<div class="blog-slider__content">
<span class="blog-slider__code"></span>
<div class="blog-slider__title"></div>
<div class="blog-slider__text">test</div>
</div>
</div>
<?php
$homeInfo = "SELECT * FROM info WHERE status='0' LIMIT 6";
$homeInfo_run = mysqli_query($con, $homeInfo);
if (mysqli_num_rows($homeInfo_run) > 0) {
foreach ($homeInfo_run as $homeInfoo) {
?>
<div class="blog-slider__item">
<div class="blog-slider__img">
<img src="./files/info/<?= $homeInfoo['image']; ?>" alt="<?= $homeInfoo['title']; ?>">
</div>
<div class="blog-slider__content">
<span class="blog-slider__code"><?= $homeInfoo['data_info']; ?></span>
<div class="blog-slider__title"><?= $homeInfoo['title']; ?></div>
<div class="blog-slider__text"><?= $homeInfoo['text']; ?></div>
</div>
</div>
<?php }
} ?>
</div>
<div class="blog-slider__pagination">
<div class="prev_info"><i class="fa fa-chevron-circle-left" style="font-size: 28px;color:aqua; cursor: pointer;"></i></div>
<div class="next_info"><i class="fa fa-chevron-circle-right" style="font-size: 28px; color:aqua; cursor: pointer;"></i></div>
</div>
</div>
</div>
</section>
jest obsługiwane przez
const info = document.querySelector(".do-wybrania").children;
const prev_info = document.querySelector(".prev_info");
const next_info = document.querySelector(".next_info");
let indexx = 0;
function autoPlay(){
next_infoSlide();
// updateDotIndicator();
}
function next_infoSlide(){
if (indexx == info.length - 1) {
indexx = 0;
}
else{
indexx++;
}
changeSlide();
}
function changeSlide(){
for(let i=0; i < info.length; i++){
info[i].classList.remove("active");
}
info[indexx].classList.add("active");
}
let timer_info = setInterval(autoPlay, 6000);
function prev_infoSlide(){
if (indexx == 0) {
indexx = info.length - 1;
}
else{
indexx--;
}
changeSlide();
}
prev_info.addEventListener("click", function(){
prev_infoSlide();
//updateDotIndicator();
resetTimer_info();
})
next_info.addEventListener("click", function(){
next_infoSlide();
//updateDotIndicator();
resetTimer_info();
})
function resetTimer_info(){
clearInterval(timer_info);
timer_info = setInterval(autoPlay, 5000);
}
i teraz nie wiem jak do tego dodać
const HOURS_24x = 24 * 60 * 60 * 1000;
window.addEventListener('DOMContentLoaded', loadx);
function loadx() {
const elements = document.querySelectorAll('.blog-slider__item .blog-slider__content span:first-child');
for (const element of elements) {
const arrMinTime = element.closest('.blog-slider__item').dataset.start.split('-'),
arrMaxTime = element.closest('.blog-slider__item').dataset.stop.split('-'),
minTime = new Date(arrMinTime[2], parseInt(arrMinTime[1], 10) - 1, arrMinTime[0]),
maxTime = new Date(arrMaxTime[2], parseInt(arrMaxTime[1], 10) - 1, arrMaxTime[0]),
offTime = new Date(maxTime.getTime() + HOURS_24x),
curTime = Date.now();
if (curTime >= minTime.getTime() && curTime <= offTime.getTime())
element.closest('div.blog-slider__item').classList.remove('hidex');
else
element.closest('div.blog-slider__item').classList.add('hidex');
}
}
którego zadaniem było by sprawdzanie daty jeśli jest w przedziale to wyświetli div jeśli nie to będzie ukryty i tu zaczęły się schody tzn nie umiem wykombinować jak ukryć żeby był pomijany przy karuzeli a nie pokazywał puste tło i czas odlicza jak by był nie wiem jak zrobić ifa lub warunek który by to sprawdzał i w każdej pętli korygował, albo od złej strony kombinuje,
Będę wdzięczna za podpowiedzi lub przykłady jak to ugryźć