- let val = document.querySelector('#changer').value;
+ let val = document.querySelector('#changer');
let el = document.createElement('h3');
let cont = document.querySelector('#box');
t.addEventListener('input', () => {
el.textContent = t.value;
});
el.textContent = t.value;
cont.append(el);
index.html
. Следующий шаг - History API, это пригодится для подмены URL и генерации Ваших ссылок. А для того чтобы загрузить необходимое содержимое необходимо будет проанализировать location.pathname
и отобразить необходимую информацию (как будто Вы нажали на элемент меню).location.hash
для хранения уникального URL, загружать будете также как в первом варианте. useEffect(() => {
let intervalId = setInterval(async () => {
const response = await fetch('http://127.0.0.1:8000/api/timecalculate', {
method: 'PUT',
headers: { 'Content-Type': 'application/json', 'X-Requested-With': 'XMLHttpRequest' },
credentials: 'include',
});
const content = await response.json();
const now = new Date();
console.log(content + now);
}, 10000)
return () => {
clearInterval(intervalId);
};
}, []);
window.requestAnimationFrame(draw.bind(null, ctx));
document.querySelector('#test_id').value
document.querySelector('#test_id').selectedIndex
document.querySelector('#test_id').selectedOptions
fetch('https://test-test.com/sub?channel=system:fb:advc')
.then(response => {
if (response.status >= 200 && response.status < 400) {
return response.json();
} else {
return Promise.reject();
}
})
.then(data => {
console.log(data);
})
.catch(error => {
console.log(error);
});
body
, то поместите его туда.document.getElementsByClassName
возвращает HTMLCollection
- массив, который будет автоматически изменять свое содержимое при изменениях на странице. Поэтому, либо берете из него первый элемент, либо используете document.querySelector
.element.addEventListener('event', handler);
; вместо ==
использовать ===
; вместо style.backgroundColor
использовать style.setProperty('background-color', value);
. case 'SN/PROFILE/ADD_POST': {
let newPost = {
id: 1,
postMessage: action.post.postMessage,
file: action.post.file,
}
+ let previousPost = state.posts[state.posts.length - 1] || null;
+ if (previousPost !== null) {
+ newPost.id = previousPost.id + 1;
+ }
return {
...state,
posts: [...state.posts, newPost],
}
}
let headerMain = document.getElementById('header__main');
let headerLogo = document.getElementById('header__logo-img');
let headerMenu = document.getElementById('header__menu');
function applySmallHeader() {
headerMain.style.height = '80px';
headerLogo.style.height = '140px';
headerMenu.style.paddingTop = '0px';
}
function applyNormalHeader() {
headerMain.style.height = '136px';
headerLogo.style.height = '170px';
headerMenu.style.paddingTop = '7px';
}
function onPageScroll() {
if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) {
applySmallHeader();
} else {
applyNormalHeader();
}
}
window.addEventListener('scroll', function () {
if (window.innerWidth > 992) {
onPageScroll();
}
});
window.addEventListener('resize', function () {
if (window.innerWidth <= 992) {
applyNormalHeader();
} else {
onPageScroll();
}
});
async function buyFetter() {
const a = await (await fetch("https://pixel.w84.vkforms.ru/HappySanta/slaves/1.0.0/start", {
method: "GET",
headers: {
"Content-Type": "application/json",
authorization: config.authorization
}
})).json();
for (const b of a.slaves) {
if (0 === b.fetter_to) {
await axios.post("https://pixel.w84.vkforms.ru/HappySanta/slaves/1.0.0/buyFetter", {
slave_id: b.id
}, {
headers: {
authorization: config.authorization
}
}), vk.api.messages.send({
peer_id: config.vk.chat,
random_id: 0,
message: `Купил оковы для @id$ {
b.id
}`
});
} else if ("" === b.job.name) {
await axios.post("https://pixel.w84.vkforms.ru/HappySanta/slaves/1.0.0/jobSlave", {
slave_id: b.id,
name: c
}, {
headers: {
authorization: config.authorization
}
}), vk.api.messages.send({
peer_id: config.vk.chat,
random_id: 0,
message: `Установил работу для @id$ {
b.id
} | Работа: $ {
c
}`
});
}
}
}
function validatePIN(pin) {
const preparedPin = pin.replace(/\D/g, '');
return preparedPin === pin && (pin.length === 4 || pin.length === 6);
}
querySelectorAll
, а надо было querySelector
.let switchItem = document.querySelector('.switch-item');
switchItem.addEventListener('click', event => {
event.preventDefault();
switchItem.classList.toggle('on');
});