word-break: break-word;
в прошлой теме я думал что можно заменить пробелы через javascript, но такой способ работает только на визуйльной части а не в исходнике
После этого и срабатывает этот блок success. где отрисовывается новый блок.
document.getElementById('client-personal-note-container').innerHTML += appendNotemakrup;
select.addEventListener('change', function () {
formValidation(form);
console.log(errors);
ine.innerHTML = errors;
});
formValidation
.console.log(errors)
- errors не существует в данной области видимости. Функции возвращают значение, которое хранится в переменной, а не переменную с её названием в область видимости, где функция была вызвана.select.addEventListener('change', function () {
const errors = formValidation(form);
console.log(errors);
ine.innerHTML = errors;
});
if (parseInt(number.innerHTML) == 0){
let step = 3;
} else {
let step = parseInt(number.innerHTML) - 1;
}
Псевдоселекторыпсевдоэлементы типа :before
const out = items.reduce((acc, {id, price}) => {
const key = obj[id]
if (key) { // проверяем что элемент с таким id нас вообще интересует
if (acc[key]) { // если он встречался ранее, то добавляем к текущему значению
acc[key] += price
} else { // иначе запоминаем с текущей ценой
acc[key] = price
}
acc.total += price // и всегда добавляем к total
}
return acc
}, { total: 0 })
let slider = document.querySelector('.container-3_1');
let innerSlider = document.querySelector('.container-3-1_blocks');
let pressed = false;
let startx;
let x;
slider.addEventListener('mousedown', (e)=> {
pressed = true;
startx = e.offsetX- innerSlider.offsetLeft;
slider.style.cursor = 'grabbing'
})
slider.addEventListener('touchstart', (e)=> {
pressed = true;
const evt = e.touches[0]
startx = evt.clientX- innerSlider.offsetLeft;
slider.style.cursor = 'grabbing'
})
slider.addEventListener('mouseenter', ()=> {
slider.style.cursor = 'grab'
})
slider.addEventListener('mouseup', ()=> {
pressed = false;
slider.style.cursor = 'grab'
})
slider.addEventListener('touchend', ()=> {
pressed = false;
slider.style.cursor = 'grab'
})
slider.addEventListener('mousemove', (e)=> {
if(!pressed) return;
e.preventDefault();
x = e.offsetX;
innerSlider.style.left = `${x - startx}px`
checkboundary()
})
slider.addEventListener('touchmove', (e)=> {
if(!pressed) return;
e.preventDefault();
const evt = e.touches[0]
x = evt.clientX;
innerSlider.style.left = `${x - startx}px`
checkboundary()
})
function checkboundary(){
let outer = slider.getBoundingClientRect();
let inner = innerSlider.getBoundingClientRect();
if(parseInt(innerSlider.style.left) > 0) {
innerSlider.style.left = '0px'
} else if (inner.right < outer.right){
innerSlider.style.left = `-${inner.width - outer.width}px`
}
}
<div class="grid">
или с модификатором, говорящем о двух колонках: <div class="grid grid_col_2">
. Ну на худой конец <div class="grid grid_type_posters">
если это какая то уникальная сетка не повторяющаяся в рамках проекта никогда и нигде.-item
тоже не ясно.<div class="grid">
<div class="poster"></div>
<div class="poster"></div>
</div>
Возвращаемое значение
Массив, содержащий удалённые элементы.
return [].splice()
возвращает массив из элементов, которые были удалены.arrayTaskOne
, объявленный вне функции, изменился, а это не хорошо.[array[j], array[j+1]] = [array[j+1], array[j]];
разворачивается вarray[j] = array[j+1]
array[j+1] = array[j]
как Js понял, что нужно поменять именно в массиве arr числа местами.
array
это ссылка на arr
, вот и поменял.