Есть функция которая показывает баннер, нужно сделать так что бы при клике по кнопке банер перестал показываться ровно один час. Делал путем записи в localStorage. Но почему то условия с временем не работают, вот сам код:
function vspl(){
$('.vspl').css('display', 'flex');
$('.vspl-img2').css('display', 'flex');
$('.vspl-img2').animate({'left':'26%'},800);
}
$(document).ready(function() {
var ls2 = localStorage.getItem('ban');
var limit = 1 * 3600 * 1000;
if(localStorage.ban){
setTimeout(vspl, 333000);
}
else{
setTimeout(vspl, 3000);
}
$('.vspl-reset').click(function(){
$('.vspl').css('display', 'none');
var ls = localStorage.setItem('ban', +new Date());
var ls2 = localStorage.getItem('ban');
var ps = parseInt(ls2, 10);
if (ps === null) {
localStorage.setItem('ban', +new Date());
}
else if(+new Date() - ps > limit){
localStorage.clear();
localStorage.setItem('ban', +new Date());
console.log("ready");
}
});
$('.vspl').click(function(){
$('.vspl').css('display', 'none');
var ls = localStorage.setItem('ban', +new Date());
var ls2 = localStorage.getItem('ban');
var ps = parseInt(ls2, 10);
if (ps === null) {
localStorage.setItem('ban', +new Date());
}
else if(+new Date() - ps > limit){
localStorage.clear();
localStorage.setItem('ban', +new Date());
console.log("ready");
}
})
});
То-есть условие else if(+new Date() - ls > limit) - не срабатывает.
$(document).ready(() => {
const $banner = $('.vspl');
const blockTime = localStorage.getItem('blockTime');
if (blockTime !== null) {
// Сверяем время блокировки с текущим временем
if (+new Date() >= parseInt(blockTime)) {
// Если время блокировки вышло, то очищаем localStorage
localStorage.removeItem('blockTime');
} else {
// Иначе скрываем элемент
$banner.hide();
}
}
$banner.click(() => {
// Скрываем элемент
$banner.hide();
// Устанавливаем время блокировки (текущее время + 1 час)
localStorage.setItem('blockTime', +new Date() + (3600 * 1000));
});
});
Что может означать этот код?
var ls = localStorage.setItem('ban', +new Date());
if (ls === null) {
... и чему здесь равно ls
?
https://developer.mozilla.org/en-US/docs/Web/API/Storage/setItem
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Здравствуйне подскажете, почему выводится первый элемент цикла как undefined
как в строке в каждом слове сделать первую букву в верхний регистр ? Точнее как сделать это регуляркой ?
Я делаю простую todo программу с помощью vuejs, при запуске программа выдаёт ошибку: Todo