const sortAscButton = document.querySelector('#sort-asc');
const sortDescButton = document.querySelector('#sort-desc');
if (sortAscButton) {
sortAscButton.addEventListener('click', event => {
event.preventDefault();
mySort('data-price');
});
}
if (sortDescButton) {
sortDescButton.addEventListener('click', event => {
event.preventDefault();
mySortDesc('data-price');
});
}
var sortAscButton = document.querySelector('#sort-asc');
var sortDescButton = document.querySelector('#sort-desc');
if (sortAscButton) {
sortAscButton.addEventListener('click', function (event) {
event.preventDefault();
mySort('data-price');
});
}
if (sortDescButton) {
sortDescButton.addEventListener('click', function (event) {
event.preventDefault();
mySortDesc('data-price');
});
}
@font-face
добавляем font-display: swap;
, для установки шрифта*, body { ... }
, и там где еще необходимо, font-family: 'Ваш шрифт', дефолтные шрифты;
(font-family: 'Assistant', 'Segoe UI', Arial, Helvetica, sans-serif;
). Таким образом, будет отображен первый доступный шрифт, а после загрузки - Ваш.const header = document.querySelector('.header');
const maxHeight = window.innerHeight;
const minHeight = 150;
window.addEventListener('scroll', () => {
const height = Math.max(minHeight, maxHeight - window.scrollY);
header.style.setProperty('height', `${height}px`);
});
body
, то он срабатывает сразу, особенно если в нем нет прослушивания событий load
или DOMContentLoaded
, то же самое, если подключить скрипт в head
. Однако, если подключить скрипт перед закрытием тэга body
, то DOM будет уже построен и большая часть будет доступна в скрипте, конечно, если большая часть DOM не строится после загрузки страницы. $('.menu-item > .submenu').toggleClass('show-submenu');
$(this).find('.submenu').toggleClass('show-submenu');
callback
'е observer
'а можно добавлять созданные элементы в уникальную коллекцию - Set
и обрабатывать так, как Вам необходимо. // word: загаданное число
var word = pickWord();
// answerArray: итоговый массив
var answerArray = setupAnswerArray();
setupAnswerArray
с параметром word
: var answerArray = setupAnswerArray(word);
. После исправления код работает. SVG
. SVG
-картинку можно перегнать как-то так:function saveImage(url, name) {
const image = new Image();
image.addEventListener('load', () => {
const link = document.createElement('a');
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
[canvas.width, canvas.height] = [image.width, image.height];
context.drawImage(image, 0, 0);
link.setAttribute('href', canvas.toDataURL());
link.setAttribute('download', name);
link.click();
});
image.src = url;
}