Почему я не могу удалить свойство background-attachment? - PullRequest
1 голос
/ 03 июня 2019

Поэтому я пытаюсь удалить свойство фонового вложения с помощью медиазапроса с максимальной шириной 1024 пикселей. Я делаю это, просто набирая background-attachment: none, за исключением того, что мой devtools высвечивает ошибку и это свойство вычеркнуто? Есть идеи?

https://jsfiddle.net/dfwg2nbv/1/

const ham = document.querySelector('.ham-menu');
const nav = document.querySelector('nav');
const header = document.querySelector('header');
const promise = document.querySelector('.promise');
const services = document.querySelector('.services');
const testimony = document.querySelector('.testimony');

header.style.removeProperty('background-attachment');

//detect mobile
// if ("ontouchstart" in document.documentElement) {
//   removeProps(header);
//   removeProps(promise);
//   removeProps(services);
//   removeProps(testimony);
// }

ham.addEventListener('click', animateMenu);

function animateMenu() {
	nav.classList.toggle('hamburger-open');
}

// function removeProps(node) {
// 	node.style.removeProperty('background-attachment');
// 	node.style.removeProperty('background-size');
// }

Ответы [ 3 ]

1 голос
/ 03 июня 2019

Вы можете удалить фон, используя jquery:

$("header").css("background-image", "none");

Пример:

https://codepen.io/seyyedmojtaba72/pen/gJqLGE

0 голосов
/ 03 июня 2019

none не является допустимым значением для свойства background-attachment.

Кроме того, вы бы не использовали removeProperty. Это не метод style.

Что вы можете сделать, это либо установить пустое значение, если вы пытаетесь удалить свойство из встроенного стиля, например:

header.style.backgroundAttachment = '';

Или вы можете установить его в начальное значение, если вы установили его в таблице стилей, например:

header.style.backgroundAttachment = 'initial';

Или просто установите для него другое конкретное значение, аналогичное приведенному выше.

0 голосов
/ 03 июня 2019

Вы пытаетесь изменить объект стиля (который отражает только стили, установленные с помощью атрибута style, а не с помощью таблиц стилей), поэтому он не установлен для его удаления. Вы можете переопределить его, установив для него значение по умолчанию scroll.

header.style.backgroundAttachment='scroll';
...