(function () {
const themeCheckBox = document.querySelector('#theme-toggle')
const themeLabel = document.querySelector('.theme-toggle')
themeLabel.addEventListener('click', () => {
- localStorage.setItem('themeCheckBox', themeCheckBox.checked)
+ localStorage.setItem('themeCheckBox', themeCheckBox.checked ? '1' : '')
})
- themeCheckBox.checked = localStorage.getItem('themeCheckBox')
+ themeCheckBox.checked = !!localStorage.getItem('themeCheckBox')
})()
themeCheckBox.checked = localStorage.getItem('themeCheckBox')==='true'
if ( currentUrl.replace(/^\/|\/$/g, '') === [rootUrl.replace(/^\/|\/$/g, ''), relativeUrl.replace(/^\/|\/$/g, '')].join('/') ){
}
window.location.href
может содержать query string и hash string.new URL(window.location.href)
) и уже из этого объекта собирать URL domain + pathname.{
type: m.subType === 'warning' ? 'warn' : m.subType
}
{
type: m.subType,
}
var xhr = new XMLHttpRequest()
var smileResourc = '';
xhr.open(...)
xhr.send()
xhr.onreadystatechange = ...
// Строки выше отработаны и сразу же начинается выполнение условий !!!
if (typeof smileResourc[smileID] !== "undefined") {
return smileResourc[smileID];
} else {
var error = 'ID was not found, check if the ID was entered correctly';
console.log(error);
}
function smileTXT(smileID, callback){
// ...
xhr.onreadystatechange = function() {
if (xhr.readyState != 4) {
return
}
if (xhr.status === 200) {
smileResourc = JSON.parse(xhr.responseText);
callback(smileResourc);
} else {
console.log('err', xhr.responseText)
}
}
}
smileTXT('smileID', function(smileResourc){
console.log(smileResourc); // <- Вот он
if (typeof smileResourc[smileID] !== "undefined") {
// Что-то делаем с smileResourc[smileID];
} else {
var error = 'ID was not found, check if the ID was entered correctly';
console.log(error);
}
});
moveByCycle
, делаем следующее:let t; // Дескриптор счетчика setInterval
function startCycle() {
t = setInterval(moveByCircle, 0);
}
function stopCycle() {
clearInterval(t);
}
ByCycle
выкидываем нахер, ибо непонятно, что она делает.<button onclick="toggleCycle">ВКЛ/ВЫКЛ<button>
function toggleCycle() {
if (t) {
stopCycle();
} else {
startCycle();
}
}
switch (arrInput.every((x) => x === true)) {
case true:
btnSubmite.classList.add('valid-success')
break
default:
btnSubmite.classList.remove('valid-success')
break
}
btnSubmite.classList.toggle('valid-success', arrInput.every((x) => x === true);
function setStorageData(key, data) {
localStorage.setItem(key, JSON.stringify(data));
}
function getStorageData(key, defaultValue = []) {
return JSON.parse(localStorage.getItem(key)) ?? defaultValue;
}