Проблема с наведением
Есть следующая картина.
<div class="kartinka"> <img src="1.jpg" data-foto="1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg"> </div> <script> document.querySelectorAll('.kartinka img').forEach(img => { let foto = img.dataset.foto.split(", ") let current = 0 let interval img.addEventListener('mouseenter', function() { console.log('hi') interval = setInterval(function() { current++ if (current >= foto.length) { current = 0 } img.src = foto[current] }, 1000) }) img.addEventListener('mouseleave', function() { img.src = foto[0] clearInterval(interval) }) }) </script> А вот как сделать что бы он при наведении на div менял картинки не знаю. Пробовал $('.kartinka').on('mouseleave', function() { но когда этих элементов много то меняет на всех картинках. понимаю что скорее всего беру не так querySelectorAll но как нужно не пойму. Спасибо за любой пинок. |
А с чего такая уверенность, что картинки без заторинки будут грузиться через 1 сек да еще с интервалом?
|
Ну как бы работают. смена в 1сек вполне если картинки не hd
|
Цитата:
Цитата:
|
Поправил спасибо. Но это я тут опечатался в коде все хорошо
|
ArtemovK,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .kartinka img{ width: 100px; height: 100px; margin-top: 25px; } div.kartinka{ width: 150px; height: 150px; background-color: #F0E68C; text-align: center; } </style> </head> <body> <div class="kartinka"> <img src="http://f.artek-ekb.ru/source/1/phXRDS4G3Y9-7p3KD1L5cS19nPF9LDk3.png" data-foto="http://f.artek-ekb.ru/source/1/phXRDS4G3Y9-7p3KD1L5cS19nPF9LDk3.png, https://photoshop-kopona.com/uploads/posts/2018-09/1536740086_02.jpg, https://img2.freepng.ru/20190610/kisspng-red-number-numerical-digit-color-portable-network-5cfe262e223146.4851514915601597901401.jpg"> </div> <div class="kartinka"> <img src="http://f.artek-ekb.ru/source/1/phXRDS4G3Y9-7p3KD1L5cS19nPF9LDk3.png" data-foto="http://f.artek-ekb.ru/source/1/phXRDS4G3Y9-7p3KD1L5cS19nPF9LDk3.png, https://photoshop-kopona.com/uploads/posts/2018-09/1536740086_02.jpg, https://img2.freepng.ru/20190610/kisspng-red-number-numerical-digit-color-portable-network-5cfe262e223146.4851514915601597901401.jpg"> </div> <script> document.querySelectorAll('.kartinka').forEach(div => { const img = div.querySelector('img'); let fotos = img.dataset.foto.split(", ") let current = 0; let interval; div.addEventListener('mouseenter', function() { clearInterval(interval) interval = setInterval(function() { current = ++current % fotos.length; img.src = fotos[current] }, 1000) }) div.addEventListener('mouseleave', function() { clearInterval(interval); current = 0; img.src = fotos[current] }) }) </script> </body> </html> |
Цитата:
|
Часовой пояс GMT +3, время: 16:18. |