Problem powiększenia obrazu produktu na stronie szczegółów produktu, gdy rozwijane menu ma z nim obszar pokrywający się


9

Zoom działa dobrze,

Ale gdy najedziesz myszką na menu rozwijane kategorii na obszar nakładania się obrazu produktu i menu rozwijanego, Zoom działa normalnie, nawet mysz nadal znajduje się w menu rozwijanym.

Sprawdź zdjęcie przechwytywania:

wprowadź opis zdjęcia tutaj


ustaw wyższy wskaźnik Z na powiększenie, rozwiąże Twój problem
Manoj Deswal

@ManojDeswal, próbowałem przy użyciu z-index: 99999; ale to nie działa. Czy możesz podać mi odpowiednie rozwiązania.
Mayur Rathod

jeśli masz internetowy adres URL, mogę Ci pomóc
Manoj Deswal

Działa dobrze w moim systemie lokalnym.
Mayur Rathod

przekazać swój internetowy adres URL, po sprawdzeniu mogę ci powiedzieć dokładne rozwiązanie
Manoj Deswal

Odpowiedzi:


19

Musisz zastąpić kod lib / web / magnifier / magnifier.js w swoim motywie, jak poniżej.

$(document).on('mousemove', onMousemove);
_init($box, gOptions);

Zamień na.

$box.on('mousemove', onMousemove);
$box.on('mouseleave', mouseleave);
function mouseleave(e) {
   onThumbLeave();
   isOverThumb = false;
   $largeWrapper.addClass(MagnifyCls.magnifyHidden);
}
_init($box, gOptions);

Musimy dodać funkcję na zdarzeniu „blokowania myszy” bloku obrazu, w przeciwnym razie zoom wyświetli się po opuszczeniu myszy przez blok obrazu.
Dodaj powyższy kod i daj mi znać, jeśli potrzebujesz czegoś jeszcze.


Magento 2.2.5. Wprowadziłem tę zmianę, wyczyściłem pamięć podręczną i nadal nie działa tak, jak powinna. Jakieś inne sugestie?
Rudy C.

Uruchom następujące polecenie w katalogu głównym katalogu magento. -> php bin / magento s: up -> php bin / magento s: d: c daj mi znać, jeśli to nie zadziała po uruchomieniu powyżej polecenia
Nitin Vala

To się udało! Tekst z nazwy obrazu wciąż przycina się do dołu Czy to coś, co znasz? Miałem nadzieję, że usunięcie problemu z najechaniem obrazem również rozwiąże problem z tekstem obrazu, ale wydaje się, że jest osobny? Dziękuję za pomoc i czas, Nitin.
Rudy C.,

Tak, obie kwestie są osobne. Jest już omówione na git hub github.com/magento/magento2/issues/15035( zobacz ostatnie 3-4 komentarze). Może to również zostać rozwiązane w najnowszej wersji magento.
Nitin Vala,

Działa dla 2.2.4
Joel Davey

8

W przypadku wersji Magento 2.2.6 zamień poniższy kod w swoim motywie. Ścieżka pliku lib / web / magnifier / magnifier.js Zamień w app / design / frontend / vendor / module / web

$box.on('mousemove', onMousemove);
_init($box, customUserOptions);

Zamień na.

   $box.on('mousemove', onMousemove);
   $box.on('mouseleave', mouseleave);
   function mouseleave(e) {
           onThumbLeave();
           isOverThumb = false;
           $magnifierPreview.addClass(MagnifyCls.magnifyHidden);
        }
   _init($box, customUserOptions);

Dzięki, że działa !!
Manish Goswami

Dzięki. Udało się ...
soofz

6

Aktualizuję do wersji 2.2.6 i po tym nie działa, edytuję
kod w ten sposób i działa:

 $box.on('mousemove', onMousemove);
    $box.on('mouseleave', mouseleave);
    function mouseleave(e) {
        onThumbLeave();
        isOverThumb = false;
        $(largeWrapper).addClass(MagnifyCls.magnifyHidden);
    }
    // _init($box, gOptions);
    _init($box, customUserOptions);

1
Właśnie zaktualizowałem do wersji 2.2.6 i użyłem tego kodu. Nadal nie działa dla mnie żadna inna sugestia? Dzięki. Do Twojej wiadomości korzystałem z poprzedniej łatki sugerowanej przez Nitin bez żadnych problemów.
Rudy C.

Edytuję kod za pomocą: $ (largeWrapper). ... jaki jest twój błąd z przodu?
rudak

1
to rozwiązało mój problem z 2.2.6 dziękuję.
CDzWebDev

1
To działa dla mnie 2.3
BartZalas

3

Wygląda na to, że to błąd Magetno.

Sprawdź tutaj .

Poprawka została połączona z Lattest Magetno 2.2.4 .

Jeśli używasz starszej wersji, możesz zmodyfikować poniższy plik jako obejście.

lib / web / magnifier / magnifier.js

       $box.on('mousemove', onMousemove);
     _init($box, gOptions);

Odniesienie: - Sprawdź To zatwierdzenie, które jest połączone z Magento 2.2.4

Update: - Jeśli połączysz ten PR i będzie to dla ciebie problem z powiększeniem. Nie działa Wygląda na to, że naprawiono jeden problem z innym. Zrób to na własne ryzyko !!!


3

W najnowszej wersji powyższe rozwiązanie nadal nie działało, musiałem określić klasę podglądu lupy w następujący sposób:

$box.on('mousemove', onMousemove);
$box.on('mouseleave', mouseleave);
function mouseleave(e) {
    onThumbLeave();
    isOverThumb = false;
    $('.magnifier-preview').addClass(MagnifyCls.magnifyHidden);
}
_init($box, customUserOptions);

To nie działa dla mnie na nowej instalacji 2.3.0. Jakieś sugestie?
Rudy C.

1
$box.on('mousemove', onMousemove);
$box.on('mouseleave', mouseleave);
function mouseleave(e) {
   onThumbLeave();
   isOverThumb = false;
   $largeWrapper.addClass(MagnifyCls.magnifyHidden);
}
_init($box, gOptions);

Ten kod działa dobrze.

Dzięki,


1

Gdzie można znaleźć oryginał magnifier.js? Mamy ten problem i używamy motywu Ultimo. Jednak aplikacja / design / frontend / Infortis / ultimo jest jak daleko. Potem oczywiście mogę utworzyć katalog WWW / Lupa /, ale skąd wziąć właściwy magnifier.js?

Czy ktoś jest dobrym przykładem? Dzięki


Oryginalny magnifier.js znajduje się w folderze MagentoRoot / lib / web / magnifier /.
Nitin Vala,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.