ドロップダウンメニューに重複領域がある場合、製品詳細ページの製品画像のズームの問題


9

ズームは正常に動作し、

ただし、カテゴリのドロップダウンメニューを商品画像とドロップダウンメニューの重複領域にホバーすると、マウスがまだドロップダウンメニューにある場合でも、ズームは正常に機能しています。

キャプチャ画像を確認してください:

ここに画像の説明を入力してください


zインデックスを高く設定してズームし、問題を解決します
Manoj Deswal 2018年

@ManojDeswal、私はz-indexを使用してみました:99999; しかし、それは機能しません。適切な解決策を提供してくれませんか。
Mayur Ra​​thod、2018年

オンラインURLがあれば、私がお手伝いします
Manoj Deswal

私のローカルシステムでは問題なく動作しています。
Mayur Ra​​thod

オンラインURLを渡します。調べた後、正確な解決策が
わかり

回答:


19

以下のように、テーマのlib / web / magnifier / 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.5。私はこの変更を行い、キャッシュをクリアしましたが、まだ正常に機能していません。他に何か提案はありますか?
Rudy C.

magentoディレクトリのルートで次のコマンドを実行してください。-> php bin / magento s:up-> php bin / magento s:d:c上記のコマンドを実行した後に機能しない場合はお知らせください
Nitin Vala

うまくいきました!画像の名前からのテキストはまだ下部をトリミングしていますこれはあなたが知っているものですか?画像ホバーの問題を修正すると画像テキストの問題も修正されることを期待していましたが、別のように見えますか?あなたの助けと時間をありがとう、ニティン。
Rudy C.

はい、両方の問題は別です。gitハブgithub.com/magento/magento2/issues/15035ですでに議論されています(最後の3-4コメントを参照)。magentoの最新リリースでも解決される可能性があります。
Nitin Vala

2.2.4に対応
Joel Davey

8

magentoバージョン2.2.6の場合、テーマ内の以下のコードを置き換えます。ファイルパスlib / web / magnifier / magnifier.js app / design / 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);

ありがとうございます。
マニッシュゴ

ありがとう。うまくいった...
soofz 19/07/30

6

私は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);

1
私は2.2.6にアップデートし、このコードを使用しました。まだ私のために他の提案をしていませんか?ありがとう。参考までに、Nitinが提案した以前のパッチを問題なく使用していました。
Rudy C.

$(largeWrapper)でコードを編集します。...あなたのフロントエラーは何ですか?
rudak

1
これにより、2.2.6で私の問題が解決されました。ありがとうございます。
CDzWebDev

1
これは2.3で動作します
BartZalas

3

これはMagetnoのバグのようです。

ここをチェックしてください。

修正はLattest Magetno 2.2.4と統合されました

古いバージョンを実行している場合は、回避策として以下のファイルを変更できます。

lib / web / magnifier / magnifier.js

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

参照: -Magento 2.2.4とマージされるこのコミットを確認してください

Update:- このPRをマージすると、ズームの問題が発生します。そのように機能していないように見えますが、ある問題を他の問題で修正しています。あなた自身のリスクでそれをしてください!!!


3

最新バージョンでは、上記のソリューションはまだ機能しませんでした。具体的には次のように拡大鏡プレビュークラスを指定する必要がありました。

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

これは、2.3.0の新規インストールでは機能しません。助言がありますか?
Rudy C.

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

このコードは正常に動作しています。

おかげで、


1

originel magnifier.jsはどこにありますか?この問題があり、Ultimoテーマを使用しています。ただし、app / design / frontend / Infortis / ultimoがどれだけの距離に到達するかです。もちろん、web / magnifier /フォルダーを作成できますが、どこから適切なmagnifier.jsを取得できますか?

誰かいい例がありますか?ありがとう


元のmagnifier.jsはMagentoRoot / lib / web / magnifier /フォルダーにあります。
Nitin Vala 2018
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.