Sự cố thu phóng hình ảnh sản phẩm trên trang chi tiết sản phẩm khi menu thả xuống có vùng chồng lấp với nó


9

Thu phóng hoạt động tốt,

Nhưng khi di chuột trên menu thả xuống danh mục vào vùng chồng lấp của hình ảnh sản phẩm và menu thả xuống, Thu phóng vẫn hoạt động bình thường, ngay cả chuột vẫn ở menu thả xuống.

Vui lòng kiểm tra ảnh chụp:

nhập mô tả hình ảnh ở đây


đặt chỉ số z cao hơn để thu phóng, sẽ giải quyết vấn đề của bạn
Manoj Deswal

@ManojDeswal, tôi đã thử sử dụng z-index: 99999; nhưng nó không hoạt động. Bạn có thể cung cấp cho tôi giải pháp thích hợp.
Mayur Rathod

nếu bạn có url trực tuyến thì tôi có thể giúp bạn
Manoj Deswal

Nó hoạt động tốt trong hệ thống địa phương của tôi.
Mayur Rathod

vượt qua URL trực tuyến của bạn, sau khi kiểm tra tôi có thể cho bạn biết giải pháp chính xác
Manoj Deswal

Câu trả lời:


19

Bạn cần thay thế mã lib / web / Magnifier / magnifier.js trong chủ đề của bạn như dưới đây.

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

Thay thế bằng.

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

Chúng ta cần thêm chức năng vào sự kiện "mouseleave" của khối hình ảnh nếu không zoom sẽ hiển thị sau khi chuột rời khỏi khối hình ảnh.
Vui lòng thêm mã ở trên và cho tôi biết nếu bạn cần bất cứ điều gì khác.


Magento 2.2.5. Tôi đã thực hiện thay đổi này, xóa bộ nhớ cache và nó vẫn không hoạt động như bình thường. Bất cứ một đề nghị nào khác?
Rudy C.

Vui lòng chạy lệnh sau trên thư mục gốc của magento. -> php bin / magento s: up -> php bin / magento s: d: c cho tôi biết nếu nó không hoạt động sau khi chạy lệnh trên
Nitin Vala

Điều đó đã làm việc! Văn bản từ tên của hình ảnh vẫn còn bị cắt ở phía dưới, đây có phải là thứ bạn quen thuộc không? Tôi đã hy vọng rằng việc khắc phục sự cố di chuột hình ảnh cũng sẽ khắc phục vấn đề văn bản hình ảnh nhưng nó dường như là riêng biệt? Cảm ơn bạn đã giúp đỡ và thời gian của bạn, Nitin.
Rudy C.

Có, cả hai vấn đề đều riêng biệt. Nó đã được thảo luận trên git hub github.com/magento/magento2/issues/15035 (xem 3-4 bình luận cuối cùng). Nó cũng có thể giải quyết trong phiên bản mới nhất của magento.
Nitin Vala

Hoạt động cho 2.2.4
Joel Davey

8

Đối với phiên bản magento 2.2.6 thay thế mã bên dưới trong chủ đề của bạn. Đường dẫn tệp lib / web / Magnifier / magnifier.js Thay thế trong ứng dụng / thiết kế / frontend / nhà cung cấp / mô-đun / web

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

Thay thế bằng.

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

Cảm ơn nó đang hoạt động !!
Manish Goswami

Cảm ơn. Nó đã hoạt động ...
soofz

6

Tôi nâng cấp lên v2.2.6 và nó không hoạt động nữa sau đó
tôi chỉnh sửa mã như thế này và nó hoạt động:

 $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
Tôi vừa cập nhật lên 2.2.6 và sử dụng mã này. Vẫn không làm việc cho tôi bất kỳ đề nghị khác? Cảm ơn. FYI Tôi đã sử dụng bản vá trước đó được đề xuất bởi Nitin mà không có vấn đề gì.
Rudy C.

Tôi chỉnh sửa mã bằng: $ (LargeWrapper). ... Lỗi trước của bạn là gì?
rudak

1
Điều này đã giải quyết vấn đề của tôi vào ngày 2.2.6 cảm ơn bạn.
CDzWebDev

1
Điều này làm việc cho tôi vào ngày 2.3
BartZalas

3

Có vẻ như đây là lỗi của Magetno.

Kiểm tra tại đây .

Bản sửa lỗi đã được hợp nhất với Lattest Magetno 2.2.4 .

Nếu bạn đang chạy phiên bản cũ hơn bạn có thể sửa đổi tệp dưới đây như một cách giải quyết.

lib / web / kính lúp / kính lúp.js

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

Tham khảo: - Kiểm tra này cam kết rằng được sáp nhập với Magento 2.2.4

Update: - Nếu bạn hợp nhất PR này và nó sẽ là vấn đề phóng to cho bạn. Nó không hoạt động Có vẻ như, Khắc phục một vấn đề Bối rối với vấn đề khác. Làm điều đó có nguy cơ của riêng bạn !!!


3

Với phiên bản mới nhất, giải pháp trên vẫn không hoạt động, tôi phải chỉ định lớp xem trước kính lúp cụ thể như thế này:

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

Điều này không hoạt động đối với tôi trên bản cài đặt mới 2.3.0. Bất kỳ đề xuất?
Rudy C.

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

Mã này hoạt động tốt.

Cảm ơn,


1

Bạn có thể tìm thấy Magnifier.js gốc ở đâu? Chúng tôi có vấn đề này và sử dụng chủ đề Ultimo. Tuy nhiên, ứng dụng / thiết kế / frontend / Infortis / ultimo là khoảng cách chúng ta nhận được. Sau đó, tôi có thể tạo thư mục web / kính lúp / thư mục nhưng từ đâu để có được Magnifier.js đúng?

Bất cứ ai tốt để đi ví dụ? Cảm ơn


Magnifier.js gốc nằm trong thư mục MagentoRoot / lib / web / Magnifier /.
Nitin Vala
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.