Зум працює добре,
Але при наведенні на спадне меню категорії на область перекриття зображення продукту та випадаючого меню масштабування працює нормально, навіть миша все ще знаходиться у спадному меню.
Перевірте фотографію захоплення:
Зум працює добре,
Але при наведенні на спадне меню категорії на область перекриття зображення продукту та випадаючого меню масштабування працює нормально, навіть миша все ще знаходиться у спадному меню.
Перевірте фотографію захоплення:
Відповіді:
Вам потрібно замінити код lib / web / luni / magnifier.js у вашій темі, як показано нижче.
$(document).on('mousemove', onMousemove);
_init($box, gOptions);
Замініть його на.
$box.on('mousemove', onMousemove);
$box.on('mouseleave', mouseleave);
function mouseleave(e) {
onThumbLeave();
isOverThumb = false;
$largeWrapper.addClass(MagnifyCls.magnifyHidden);
}
_init($box, gOptions);
Нам потрібно додати функцію події "mouseleave" блоку зображення, інакше масштаб відобразиться після відходу миші з блоку зображення.
Будь ласка, додайте наведений вище код і повідомте мене, якщо вам потрібно щось інше.
Для magento версії 2.2.6 замініть нижче код у своїй темі. Шлях до файлу lib / web / лупа / magnifier.js Замінити у програмі / дизайні / frontend / vendor / module / web
$box.on('mousemove', onMousemove);
_init($box, customUserOptions);
Замініть його на.
$box.on('mousemove', onMousemove);
$box.on('mouseleave', mouseleave);
function mouseleave(e) {
onThumbLeave();
isOverThumb = false;
$magnifierPreview.addClass(MagnifyCls.magnifyHidden);
}
_init($box, customUserOptions);
Я переходжу до v2.2.6, і він більше не працює, після цього
я редагую такий код, як він працює:
$box.on('mousemove', onMousemove);
$box.on('mouseleave', mouseleave);
function mouseleave(e) {
onThumbLeave();
isOverThumb = false;
$(largeWrapper).addClass(MagnifyCls.magnifyHidden);
}
// _init($box, gOptions);
_init($box, customUserOptions);
Схоже, це помилка Магетно.
Перевірте тут .
Виправлення було об'єднано з Lattest Magetno 2.2.4 .
Якщо ви використовуєте старішу версію, ви можете змінити файл нижче як робочий круг.
lib / web / лупа / magnifier.js
$box.on('mousemove', onMousemove);
_init($box, gOptions);
Довідка: - Перевірте цю комісію, яка об'єднана з Magento 2.2.4
Update
: - Якщо ви з’єднаєте цей PR і тоді це буде проблемою масштабування для вас. Це не працює. Схоже, виправлення однієї проблеми зіпсовано з іншою. Робіть це на свій страх і ризик !!!
З останньою версією, вищевказане рішення все ще не працювало, мені довелося вказати клас попереднього перегляду лупи саме так:
$box.on('mousemove', onMousemove);
$box.on('mouseleave', mouseleave);
function mouseleave(e) {
onThumbLeave();
isOverThumb = false;
$('.magnifier-preview').addClass(MagnifyCls.magnifyHidden);
}
_init($box, customUserOptions);
Де ви можете знайти originel magnifier.js? У нас є це питання і використовується тема Ultimo. Однак додаток / дизайн / frontend / Infortis / ultimo - це як далеко ми дістаємось. Тоді, звичайно, я можу створити папки веб / лупи /, але звідки отримати потрібний magnifier.js?
Хтось хороший на прикладі? Дякую