Как добавить событие "нажать" или "изменить" на миниатюры продуктов в интерфейсе?


Я пытаюсь "щелкнуть" или "изменить" событие на миниатюрах изображений fotorama. При нажатии на миниатюры изображений мне нужно запустить событие "щелчок" или "изменение". Я прочитал приведенные ниже документы, но не могу найти правильное решение. Предложите мне, если у кого-нибудь есть идея по этому поводу.

Ссылка на Devdocs: https://devdocs.magento.com/guides/v2.4/javascript-dev-guide/widgets/widget_gallery.html#gallery_seek

enter image description here

Author: Msquare, 2021-08-02

2 answers

  1. Есть три способа изменить изображение Nav Frame image click, Nav prev/next arrow click и Slide the image. enter image description here enter image description here enter image description here
  2. Событие jQuery, отправленное методом dispatch() в строке 5192 из {Magento2 root directory}/lib/web/jquery.js. В этом методе в строке 5231 обработчик применяется для согласованного.элемента, в котором обрабатывается вся галерея div. enter image description here enter image description here
  3. В обработчике потока кода переходит к {Magento2 root directory}/lib/web/fotorama/fotorama.js, в котором в строке 2765 navUpdate() или в строке 5417 updateFotoramaState() метод будет подходящим для этого требования.
  4. Используя файл fotorama.js в теме или сопоставление в requirejs-config.js, вы можете добавить в него дополнительную логику.
  4
Author: Rajkumar Vellaiswamy, 2021-08-08 14:44:24

Это также один из ответов для достижения событий щелчка на миниатюрах изображений без изменения файла fotorama.js, который соответствует моим требованиям.

Мы можем напрямую добавить событие щелчка для щелчка по миниатюре изображения навигационной рамки.

$(document).on('click', '.fotorama__nav__frame', function () {
   console.log(this);
});

Но с помощью этого события мы не можем отслеживать обновления навигации в миниатюрах изображений, таких как предыдущее/следующее нажатие стрелки и сдвиньте изображение.


  3
Author: Siranjeevi K S, 2021-08-10 06:17:12