let date = new Date();
date.setDate(date.getDate()-121); // установим дату в текущую минус 121 день
console.log(date);
let ts = Date.now(); // Количество мс, прошедших с 1 января 1970г.
ts-=121*24*3600*1000; // Вычтем 121 день помножим на 24 часа, помножим на 3600 сек/час, помножим на 1000 мс/сек
let date = new Date(ts); // Создадим новую дату
console.log(date);
let date = new Date('2022-04-13T14:43:00Z');
let months = (Date.now() - date.getTime()) / (30*24*3600*1000);
console.log(`C момента 2022-04-13 прошло ${months.toFixed(1)} месяцев`);
let month;
month = 6.7343423;
month = Math.round(month * 2)/2;
console.log(month); // => 6.5
month = 6.8343423;
month = Math.round(month * 2)/2;
console.log(month); // => 7
// Пусть, список будет в строке разделенной вертикальной чертой
"contacts|goods|gallery|reviews|screen".split`|`
// Находим каждый элемент
.map(data=>document.querySelector(`.blocks__item[data-item="${data}"]`))
// Вешаем на элементы событие mouseenter
.forEach(el=>el.addEventListener('mouseenter',e=>{
// Класс активного элемента надо удалить только у активного элемента
document.querySelector`.blocks__item.blocks__item--active`.classList.remove`blocks__item--active`;
// А элементу, вызвавшему это событие надо добавить класс активности
e.target.classList.add`blocks__item--active`;
// Еще где-то какому-то элементу присвоим класс, частично формирующийся из атрибута элемента события
document.querySelector`.blocks__phone-bg`.className = `blocks__phone-bg blocks__phone-bg--${e.target.getAttribute`data-item`}`;
});
// Вот и все!
'click'
, 'right-click'
и 'double-click'
.tray.setContextMenu(menu)
- устанавливает переданное в параметре menu
меню как контекстное меню иконки трея. tray.popUpContextMenu([menu, position])
открывает установленное либо переданное в параметре menu
контекстное меню трея. Оба параметра menu
и position
не обязательны tray.closeContextMenu()
закрывает открытое меню трея.icon
. { const idgen=Object.assign(()=>idgen.gen.next().value,
{val:0,gen:(function*(){while(1)yield ++idgen.val})()});
Object.defineProperty(window,'uniqueId',{get:()=>idgen()}); }
// Проверочка
for( let i = 0; i < 3; i ++ ) console.log(uniqueId); // 1,2,3;
console.log('инфа по браузеру',navigator.userAgentData);
console.log('батарея',await navigator.getBattery());
console.log('местоположение',await navigator.geolocation.getCurrentPosition())
console.log('ip', await fetch('https://ipinfo.io',{credentials:'omit'}).then(res=>res.json()));
document.body.addEventListener('touchstart',
event=>{
event.preventDefault();
event.stopPropagation();
Nunenune(event);
}
);
pointerdown
и проч.