Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.11.2024, 15:48
Кандидат Javascript-наук
Отправить личное сообщение для samdo Посмотреть профиль Найти все сообщения от samdo
 
Регистрация: 27.05.2017
Сообщений: 112

querySelector работает толлько для первого элемента списка
Приветствую! Помогите, плиз, допилить код. Как сделать, чтобы в нижеуказанной "конструкции" JS срабатывал не только для первого элемента, но и для остальных с классом co-img. Пробовал querySelector заменить на querySelectorAll, не помогает.

var bg = document.querySelector('.co-img');
	window.addEventListener('mousemove', function(e) {
	let x = e.clientX / window.innerWidth;
	let y = e.clientY / window.innerHeight;  
	bg.style.transform = 'translate(-' + x * 150 + 'px, -' + y * 150 + 'px)';
});

<div class="co-block">
	<div class="co-img" style="background-image: url(imgpath);"></div>
</div>
<div class="co-block">
	<div class="co-img" style="background-image: url(imgpath);"></div>
</div>
<div class="co-block">
	<div class="co-img" style="background-image: url(imgpath);"></div>
</div>

Заранее СПАСИБО!
Ответить с цитированием
  #2 (permalink)  
Старый 14.11.2024, 16:08
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от samdo
Пробовал querySelector заменить на querySelectorAll, не помогает
Простая замена методов и не поможет.
Первый метод возвращает один элемент, а второй целую коллекцию.
Так вот с коллекцией нужно работать как с коллекцией, а не одним эелементом. Т.е. нужно перебирать элементы коллекции и, получив очередной, что-то с ним делать...
Сообщение от samdo
bg = document.querySelector('.co-img')
Меняем на
bg = document.querySelectorAll('.co-img')

Сообщение от samdo
bg.style.transform = 'translate(-' + x * 150 + 'px, -' + y * 150 + 'px)';
Меняем на
bg.forEach(o => o.style.transform = 'translate(-' + x * 150 + 'px, -' + y * 150 + 'px)');
Ответить с цитированием
  #3 (permalink)  
Старый 14.11.2024, 19:04
Кандидат Javascript-наук
Отправить личное сообщение для samdo Посмотреть профиль Найти все сообщения от samdo
 
Регистрация: 27.05.2017
Сообщений: 112

Преогромнейшее спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Правильно вызвать массив biryukovm Элементы интерфейса 3 19.03.2018 13:31
Выбор рандомного элемента из массива для элемента Бипач Общие вопросы Javascript 8 10.01.2018 23:14
Each срабатывает только для одного элемента Александр222 Общие вопросы Javascript 1 04.08.2014 14:12
Как установить значения поле name для каждого элемента формы autofan jQuery 0 27.07.2014 10:57
Метод для конвертирования едениц px, em, %, pt. jegit Элементы интерфейса 0 07.03.2013 16:15