ズームは正常に動作し、
ただし、カテゴリのドロップダウンメニューを商品画像とドロップダウンメニューの重複領域にホバーすると、マウスがまだドロップダウンメニューにある場合でも、ズームは正常に機能しています。
キャプチャ画像を確認してください:
ズームは正常に動作し、
ただし、カテゴリのドロップダウンメニューを商品画像とドロップダウンメニューの重複領域にホバーすると、マウスがまだドロップダウンメニューにある場合でも、ズームは正常に機能しています。
キャプチャ画像を確認してください:
回答:
以下のように、テーマの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.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);
私は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);
これはMagetnoのバグのようです。
ここをチェックしてください。
修正はLattest Magetno 2.2.4と統合されました。
古いバージョンを実行している場合は、回避策として以下のファイルを変更できます。
lib / web / magnifier / 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テーマを使用しています。ただし、app / design / frontend / Infortis / ultimoがどれだけの距離に到達するかです。もちろん、web / magnifier /フォルダーを作成できますが、どこから適切なmagnifier.jsを取得できますか?
誰かいい例がありますか?ありがとう