table
свойства или метода data
то по-моему правильнее создать утилиту, приложение.
display
? Он на что-то влияет?$(document).ready()
? Какие перекрестные ссылки? Откуда вы их нашли в описании моей задачи?У как всё просто хорошо!... Ну так если всё знаете, то чего спрашивать то?
<?php
$i = 0;
$pages = get_pages([
'hierarchical' => 1,
'child_of' => 5,
'parent' => -1,
'post_type' => 'page',
'post_status' => 'publish',
]);?>
<div class="row p-0 m-0">
<div class="col-md p-0 m-0">
<div class="direction-carousel">
<div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<!-- Выводим индикаторы -->
<?php for($i = 0; $i < count($pages); ++$i):
//Первому элементу добавим класс active
?>
<li data-target="#carouselExampleIndicators" data-slide-to="<?= $i;?>"<?=($i==0 ? ' class="active"' : '');?>></li>
<?php endfor;
// Сбросим переменную $i
$i = 0;
?>
</ol>
<div class="carousel-inner">
<?php
foreach( $pages as $post ):
setup_postdata( $post ); ?>
<div class="carousel-item<?=($i == 0 : ' active' : '');?>">
<!-- Выводим HTML код изображения -->
<?php the_post_thumbnail('direction-carousel', '') ?>
</div>
<?php
++$i;
endforeach;
wp_reset_postdata();
?>
</div>
</div>
<a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
package.json
yargs-parser
?/* Если не удалять дочерние символы */
countdown("30.06.2022 10:30:00", "#ваш_селектор", function(){
let displayElem = document.getElementById("ваш_селектор"),
/* Поправить под свои селекторы */
displaySymbols = [...displayElem.querySelectorAll('.symbol > *')];
const str = "Истекло",
len = str.length - 1;
displaySymbols.forEach((curSymbol, i) => {
i <= len && curSymbol.textContent = str[i];
});
});
updateDisplay
и вы опять получите отрицательные значения в таймере.function countdown(dateStr, displayElem, onTimerEnd = null) {
let targetDate = new Date(dateStr).getTime();
let displaySymbols = [...displayElem.querySelectorAll('.symbol .cur')]
let prevValue = ' '
let timer = setInterval(function() {
let now = new Date().getTime();
let remainingTime = targetDate - now;
if (remainingTime <= 0) {
clearInterval(timer) // stop timer
if (onTimerEnd) {
onTimerEnd() // run callback
/**
* ОБЯЗАТЕЛЬНО ВЫХОД ИЗ ФУНКЦИИ
**/
return !1;
}
}
let formattedTimestr = format(remainingTime);
updateDisplay(formattedTimestr);
}, 1000);
function format(time) {
return [time % 86400000 / 3600000, // hours
time % 3600000 / 60000, // minutes
time % 60000 / 1000
] // seconds
.map(x => Math.floor(x).toString().padStart(2, '0'))
.join('')
}
function updateDisplay(timeString) {
displaySymbols.forEach((curSymbol, i) => {
let newValue = timeString[i]
let currentValue = prevValue[i]
if (currentValue !== newValue) { // animated change
let parent = curSymbol.parentNode
parent.classList.remove('anim')
curSymbol.textContent = newValue
curSymbol.nextElementSibling.textContent = currentValue
var foo = parent.offsetWidth; // reflow hack
parent.classList.add('anim')
}
})
prevValue = timeString
}
}
setItem
?a = localStorage.setItem (time , date.getMinutes());
b = localStorage.setItem(znach , znn);
if (a == date.getMinutes())
{
return true;
} else {
setItem
что-то возвращал, то что вы сравнивает? Одно и тоже значение?