Problema relativo allo zoom dell'immagine del prodotto nella pagina dei dettagli del prodotto quando il menu a discesa presenta un'area sovrapposta


9

Lo zoom funziona bene,

Ma quando si passa con il mouse sul menu a discesa della categoria nell'area di sovrapposizione dell'immagine del prodotto e del menu a discesa, lo zoom funziona normalmente, anche il mouse è ancora nel menu a discesa.

Si prega di controllare l'immagine di acquisizione:

inserisci qui la descrizione dell'immagine


imposta uno z-index più alto su zoom, risolverà il tuo problema
Manoj Deswal

@ManojDeswal, sono stato provato usando z-index: 99999; ma non funziona. Potete fornirmi soluzioni adeguate.
Mayur Rathod,

se hai l'URL online allora posso aiutarti
Manoj Deswal

Funziona bene nel mio sistema locale.
Mayur Rathod,

passa il tuo URL online, dopo aver verificato che posso dirti la soluzione esatta
Manoj Deswal,

Risposte:


19

Devi sostituire il codice di lib / web / magnifier / magnifier.js nel tuo tema come di seguito.

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

Sostituiscilo con.

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

Dobbiamo aggiungere la funzione sull'evento "mouseleave" del blocco di immagini, altrimenti lo zoom verrà visualizzato dopo che il mouse esce dal blocco di immagini.
Per favore aggiungi il codice sopra e fammi sapere se hai bisogno di qualcos'altro.


Magento 2.2.5. Ho apportato questa modifica, ho cancellato la cache e non funziona ancora come dovrebbe. Altri suggerimenti?
Rudy C.,

Si prega di eseguire il comando seguente sulla radice della directory magento. -> php bin / magento s: su -> php bin / magento s: d: c fammi sapere se non funzionerà dopo l'esecuzione sopra il comando
Nitin Vala

Ha funzionato! Il testo del nome dell'immagine sta ancora ritagliando il fondo è qualcosa con cui hai familiarità? Speravo che risolvere il problema del passaggio del mouse sull'immagine avrebbe risolto anche il problema del testo dell'immagine, ma sembra essere separato? Grazie per l'aiuto e il tempo, Nitin.
Rudy C.,

Sì, entrambi i problemi sono separati. È già stato discusso su git hub github.com/magento/magento2/issues/15035(vedi gli ultimi 3-4 commenti). Potrebbe anche essere risolto nell'ultima versione di magento.
Nitin Vala,

Lavora per 2.2.4
Joel Davey il

8

Per magento versione 2.2.6 sostituisci il codice qui sotto nel tuo tema. Percorso file lib / web / magnifier / magnifier.js Sostituisci in app / design / frontend / vendor / module / web

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

Sostituiscilo con.

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

Grazie sta funzionando !!
Manish Goswami,

Grazie. Ha funzionato ...
soofz il

6

Aggiornamento a v2.2.6 e non funziona più dopo che
modifico il codice in questo modo e funziona:

 $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
Ho appena aggiornato alla 2.2.6 e ho usato questo codice. Non stai ancora lavorando per me qualche altro suggerimento? Grazie. Cordiali saluti, stavo usando la patch precedente suggerita da Nitin senza problemi.
Rudy C.,

Modifico il codice con: $ (largeWrapper). ... qual è il tuo errore frontale?
Rudak,

1
questo ha risolto il mio problema su 2.2.6 grazie.
CDzWebDev,

1
Questo funziona per me il 2.3
BartZalas

3

Sembra che questo sia il bug di Magetno.

Controllare Qui .

Fix è stato unito a Lattest Magetno 2.2.4 .

Se stai utilizzando una versione precedente di quella che puoi modificare sotto il file come workarround.

lib / web / lente di ingrandimento / magnifier.js

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

Riferimento: - Controlla questo commit che è unito a Magento 2.2.4

Update: - Se unisci questo PR e allora sarà un problema di zoom per te. Sembra non funzionare, risolvere un problema incasinato con l'altro. Fallo a tuo rischio e pericolo !!!


3

Con l'ultima versione, la soluzione di cui sopra non funzionava ancora, dovevo specificare la classe di anteprima della lente di ingrandimento specificatamente in questo modo:

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

Questo non funziona per me su una nuova installazione di 2.3.0. Eventuali suggerimenti?
Rudy C.

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

Questo codice funziona bene.

Grazie,


1

Dove puoi trovare originel magnifier.js? Abbiamo questo problema e utilizziamo il tema Ultimo. Tuttavia app / design / frontend / Infortis / ultimo è quanto lontano arriviamo. Quindi ovviamente posso creare le cartelle web / magnifier / ma da dove ottenere il giusto magnifier.js?

Qualcuno un buon esempio? Grazie


Magnifier.js originale si trova nella cartella MagentoRoot / lib / web / magnifier /.
Nitin Vala,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.