let a = [{v: 1}, {v: 2}, {v: 3}];
for (let obj of a) {
obj.v += 1;
}
a // [{"v":2},{"v":3},{"v":4}]
document.querySelector('.case-print')
export interface ICustomTableCellProps {
contact: IUser;
cellData: keyof IUser;
onChange: Function;
}
Должны приходить строка или число (name, lastname, age, pager)
contact[cellData]
, то cellData
очевидно может принимать только значения ключей contact
, а contact
- это IUser
... $(window).scroll()
объявите выше. И вызовите ещё 1 раз явно, не по событию.$(function () {
function onScroll(event) {
var st = $(this).scrollTop();
if ($(window).scrollTop() > 50) {
$("header").addClass("active");
} else {
$("header").removeClass("active");
}
if (Math.abs(lastScrollTop - st) <= delta) return;
if (st > lastScrollTop && lastScrollTop > 0) {
$("header").css("top", "-146px");
} else {
$("header").css("top", "0px");
}
lastScrollTop = st;
}
var lastScrollTop = 0,
delta = 15;
$(window).scroll(onScroll);
onScroll();
});
document.querySelector('link[href*="light"]').disabled=true;
document.head.insertAdjacentHTML('beforeend', '<link rel="stylesheet" type="text/css" href="css/main.dark.css">');
function getTheme() {
return localStorage.getItem('theme') || 'light'; // default light
}
function toggleTheme() {
let newTheme, oldTheme;
if (getTheme() === 'light') {
newTheme = 'dark';
oldTheme = 'light';
} else {
newTheme = 'light';
oldTheme = 'dark';
}
document.querySelector(`link[href*="${oldTheme}"]`).disabled=true;
document.head.insertAdjacentHTML('beforeend', `<link rel="stylesheet" type="text/css" href="css/main.${newTheme}.css">`);
}
querySelector()
возвращает только один, первый найденный элемент. А надо все. Это делает querySelectorAll()const links = document.querySelectorAll('.header__link');
window.addEventListener('scroll', function(){
links.forEach((el) => el.classList.toggle('cactive', pageYOffset > 0));
});
const mediaQuery = window.matchMedia('(max-width: 992px)');
const handler = () =>
$(document.body).toggleClass('lock', mediaQuery.matches);
mediaQuery.addListener(handler);
handler();
@media (max-width: 992px) {
body {
/* тут то что у Вас в .lock было */
}
}
var name, surname;
$(document).on('change', '.shippingMethod', function () {
if ($(this).val() == 'pickup') {
name = $(document).find('#name').val();
surname = $(document).find('#surname').val();
$('#name, #surname').val('Самовывоз');
} else {
$('#name').val(name);
$('#surname').val(surname);
}
});
const string = 'дрель| домофон|пила| топор |ручной молоток';
const modifiedString = string.split('|').map((s) => s.trim()).join(' | ');
// "дрель | домофон | пила | топор | ручной молоток"