<style>
.oculto {
display: none;
}
</style>
<script>
document.addEventListener("DOMContentLoaded", () => {
const TEMPO_LIMITE = 660; // 11 minutos em segundos
const SELECIONAR_ELEMENTO = '.oculto';
let tempoJaDecorrido = JSON.parse(localStorage.getItem('tempoDecorrido')) || 0;
let botaoJaExibido = JSON.parse(localStorage.getItem('botaoExibido')) || false;
// Função para exibir os elementos com a classe .oculto
function exibirElementos() {
const elementos = document.querySelectorAll(SELECIONAR_ELEMENTO);
elementos.forEach(elemento => {
elemento.style.display = 'block';
});
localStorage.setItem('botaoExibido', true); // Salva que os elementos já foram exibidos
console.log('Elementos exibidos e informação salva no localStorage.');
}
// Função para salvar o tempo decorrido no localStorage
function salvarTempoDecorrido(tempo) {
localStorage.setItem('tempoDecorrido', tempo);
}
// Verifica se os elementos já foram exibidos antes
if (botaoJaExibido) {
exibirElementos(); // Exibe imediatamente se já foi exibido uma vez
} else {
// Calcula o tempo restante
let tempoRestante = TEMPO_LIMITE - tempoJaDecorrido;
// Se o tempo restante já é menor ou igual a zero, exibe os elementos imediatamente
if (tempoRestante <= 0) {
exibirElementos();
} else {
// Caso contrário, inicia o contador a partir do tempo restante
let contador = setInterval(() => {
tempoJaDecorrido++;
salvarTempoDecorrido(tempoJaDecorrido); // Salva o tempo atualizado no localStorage
console.log(`Tempo na página: ${tempoJaDecorrido} segundos`);
if (tempoJaDecorrido >= TEMPO_LIMITE) {
exibirElementos(); // Exibe os elementos após atingir o limite
clearInterval(contador); // Para o contador
}
}, 1000); // Incrementa o tempo a cada segundo
}
}
// Limpa o tempo quando a página for recarregada, se os elementos já foram exibidos
window.addEventListener('beforeunload', () => {
if (JSON.parse(localStorage.getItem('botaoExibido'))) {
localStorage.removeItem('tempoDecorrido'); // Reseta o tempo após os elementos aparecerem
}
});
});
</script>