Привет. Я начал изучать JS и в процессе работы возник вопрос.
Я вызываю простую функцию, которая проверяет фоновое изображение div с id #play-edm-track, который по умолчанию имеет фон "img/portfolio/play-hover.png". После этого я хочу заменить фон на другой. Однако по какой-то причине утверждение IF ложно.
function() {
if (document.getElementById('play-edm-track-1').style.backgroundImage == "url(img/portfolio/play-hover.png)") {
document.getElementById('play-edm-track-1').style.backgroundImage = "url(img/portfolio/play-inactive.png)";
}
};
Как реализовать эту задачу? Можно ли это сделать средствами JS или нужно обязательно использовать jQuery? Спасибо.
Если background-image не задан элементу "инлайном" (т.е. не прописан в теге самого элемента), то .style.backgroundImage
выдаст "пустое" значение. Если нужно прочитать это значение из стилей, то тогда нужно использовать:
let block = document.getElementById('Block');
//Получаем значение стиля
let bg = window.getComputedStyle(block).getPropertyValue('background-image');
//Т.к. значение возвращается в виде строки url(...), убираем ненужные для проверки символы и получаем "чистую" ссылку на изображение
let bg_clear_url = bg.slice(4, -1).replace(/"/g, "")
//После чего делаем проверку
if(bg_clear_url === 'https://image.noelshack.com/fichiers/2017/38/2/1505774813-photo4.jpg') {
console.log('true')
}
div {
width: 300px;
height: 300px;
border: 1p xolid #c0c0c0;
background-image: url(https://image.noelshack.com/fichiers/2017/38/2/1505774813-photo4.jpg);
margin: 30px auto;
background-repeat: no-repeat;
}
<div id="Block"></div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Помогите доработать задумкуНа странице есть кнопка или ссылка с ID, при наведении на которую рядом с ней появляется блок в котором я создаю...
Есть событие наложенное на #set-view-bid которое сворачивает и разворачивает формуВ первом случае оно нужно, а во втором допустим нужен просто...
Как создать объект в JS один раз и навсегда? То есть при клике мыши мне надо что бы создавался объект и вызывался метод, далее если я еще раз...