diff --git a/template/javascript/global.html b/template/javascript/global.html index bfc6955..d26ff74 100644 --- a/template/javascript/global.html +++ b/template/javascript/global.html @@ -21,42 +21,41 @@ function HoverShowMenu() { - $("#js-menu-big .box-item .item").on("mousemove", function () { - let $checkMenu = $('#js-menu-big').hasClass('active'); - if ($checkMenu) { - let $hoverMenu = $('#js-hover-menu'); - let $this = $(this).parents('.box-item'); - let $hoverContent = $this.find('.hover-menu'); + const $menuBig = $('#js-menu-big'); + const $hoverMenu = $('#js-hover-menu'); + + $menuBig.find('.box-item .item').on('mousemove', function () { + if ($menuBig.hasClass('active')) { + const $parentItem = $(this).closest('.box-item'); + const $hoverContent = $parentItem.find('.hover-menu'); if ($hoverContent.length) { - let offset = $this.offset(); - let x = offset.left + $("#js-menu-big").width(); - let y = offset.top; + const offset = $parentItem.offset(); + const menuWidth = $menuBig.width(); + const hoverHeight = $hoverContent.outerHeight(); + const windowHeight = $(window).height(); + const maxY = $(window).scrollTop() + windowHeight; - // Kiểm tra nếu hoverContent bị tràn màn hình ở dưới - let hoverHeight = $hoverContent.outerHeight(); - let windowHeight = $(window).height(); - let maxY = $(window).scrollTop() + windowHeight; // Vị trí Y tối đa có thể hiển thị - let newY = y; + let posX = offset.left + menuWidth; + let posY = offset.top; - if (y + hoverHeight > maxY) { - newY = maxY - hoverHeight - 10; + if (posY + hoverHeight > maxY) { + posY = maxY - hoverHeight - 10; } $hoverMenu.addClass('active') .html($hoverContent.html()) - .css({ left: x, top: newY }); + .css({ left: posX, top: posY }); } } }); - $("#js-hover-menu").on("mouseleave", function () { - $("#js-hover-menu").removeClass("active"); + $hoverMenu.on('mouseleave', function () { + $hoverMenu.removeClass('active'); }); } - function formatCurrency(a) { var b = parseFloat(a).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1.").toString(); var len = b.length;