Как скрыть или показать блоки по таймеру навсегда?
При помощи этой модификации можно скрывать или показывать блоки по таймеру. Скрипт кеширует время и статус блоков, поэтому при обновлении страницы или при повторном заходе на сайт спустя время, состояние блоков не будет сброшено.
Этот генератор кода доступен только тем кто оплатил подписку
<!--TICODE--><!-- Библиотека модификаций для Тильда https://ticode.dev -->
<!--TCD057--><script>
document.addEventListener("DOMContentLoaded", function() {
var TiWait = 20;
var TiStartTime = parseInt(localStorage.getItem('TiStartTime')) || Math.floor(Date.now() / 1000);
var TiCurrentTime = Math.floor(Date.now() / 1000);
var TiElapsedTime = TiCurrentTime - TiStartTime;
var TiCodeStart = localStorage.getItem('TiCodeStart');
var TiRemainingTime = parseInt(localStorage.getItem('TiRemainingTime')) || TiWait;
if (TiCodeStart !== 'true') {
if (TiRemainingTime - TiElapsedTime > 0) {
TiRemainingTime -= TiElapsedTime;
var timerInterval = setInterval(function() {
if (TiRemainingTime <= 0) {
clearInterval(timerInterval);
var blocksToHide = "#rec627296807, #rec627296862";
blocksToHide.split(',').forEach(function(blockId) {
var block = document.querySelector(blockId.trim());
if (block) {
block.style.display = "none";
}
});
var blocksToShow = "#rec627296744, #rec627296788";
blocksToShow.split(',').forEach(function(blockId) {
var block = document.querySelector(blockId.trim());
if (block) {
block.style.height = "auto";
}
});
localStorage.setItem('TiCodeStart', 'true');
} else {
TiRemainingTime--;
localStorage.setItem('TiRemainingTime', TiRemainingTime);
}
}, 1000);
} else {
var blocksToHide = "#rec627296807, #rec627296862";
blocksToHide.split(',').forEach(function(blockId) {
var block = document.querySelector(blockId.trim());
if (block) {
block.style.display = "none";
}
});
var blocksToShow = "#rec627296744, #rec627296788";
blocksToShow.split(',').forEach(function(blockId) {
var block = document.querySelector(blockId.trim());
if (block) {
block.style.height = "auto";
}
});
localStorage.setItem('TiCodeStart', 'true');
localStorage.removeItem('TiRemainingTime');
}
} else {
var TiCodeHiddenBlocks = "#rec627296807, #rec627296862";
var TiCodeShownBlocks = "#rec627296744, #rec627296788";
TiCodeHiddenBlocks.split(',').forEach(function(blockId) {
var block = document.querySelector(blockId.trim());
if (block) {
block.style.display = "none";
}
});
TiCodeShownBlocks.split(',').forEach(function(blockId) {
var block = document.querySelector(blockId.trim());
if (block) {
block.style.height = "auto";
}
});
}
localStorage.setItem('TiStartTime', TiCurrentTime);
});
window.addEventListener("beforeunload", function() {
localStorage.setItem('TiStartTime', Math.floor(Date.now() / 1000));
});
</script>
<style>
#rec627296744, #rec627296788 {
height: 0;
overflow: hidden;
}
</style>
<script> (function TCDupdType() { const TildahtmlBclok = document.currentScript; if (TildahtmlBclok) { const recordElement = TildahtmlBclok.closest('.r[data-record-type]'); if (recordElement) { recordElement.setAttribute('data-record-type', Math.random().toString(36).substring(2, 12)); }}})(); </script>
КОПИРОВАТЬ КОД
Для нормальной работы модификации необходимо включить библиотеку jQuery. Как включить: Настройки сайта -> Еще -> Подключить jQuery на страницах сайта
1. Указываем в генераторе кода id блоков которые нужно скрыть или показать. Если блоков много, то указываем через запятую. Например: #rec627309865, #rec627309866 и т. д.
2. Указываем время в секундах через которое будет происходит скрытие/показ блоков. 3. Копируем готовый код и вставляем в HTML блок Т123. Важно чтобы блок с кодом был в самом низу сайта.
Примечание! Модификация может плохо работать с табами и слайдерами на Zero Block с использованием скриптов, а также с блоками где включен австокейл.