Я пробовал изменить стиль с помощью JS.
Первый метод - JQuery, он сработал. N.B. У меня несколько дивов .slider__content.
$(window).scroll(function() {
var wScroll = $(this).scrollTop();
$('.slider__content').css({
'transform' : 'translate(0px, -'+ wScroll /2 +'%)'
});
});
Но этот второй синтаксис возвращает в консоли браузера «slideBG.style is undefined».
$(document).ready(function() {
.
.
.
window.addEventListener('scroll', function() {
var wScroll = this.pageYOffset;
var slideBG = document.querySelectorAll('.slider__content');
slideBG.style["transform"] = 'translateY(' + window.pageXOffset /2 + "%)";
});
});
Почему это происходит?
Вы пробовали console.info(slideBG), чтобы понять, почему это может быть? Пожалуйста, см. querySelectorAll документация для типа возвращаемого значения и пример того, как перебирать его.
@mplungjan Да, у меня несколько разделов .slider__content.
var slideBG = document.querySelectorAll('.slider__content'); for (var i=0;i<slideBG.length;i++) { slideBG[i].style["transform"] = 'translateY(' + window.pageXOffset /2 + "%)"; }Также обратите внимание на это: stackoverflow.com/questions/28163033/…
@mplungjan Спасибо, что остановило сообщение об ошибке!



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Потому что slideBG - это коллекция. Если есть только один, используйте
document.querySelector('.slider__content');, иначе вам нужно зациклить