Skip to content

Commit

Permalink
fix: nav menu group hover problem
Browse files Browse the repository at this point in the history
  • Loading branch information
sanyuan0704 committed Oct 5, 2022
1 parent e4d0ab6 commit 4a5a2a4
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 9 deletions.
8 changes: 5 additions & 3 deletions src/theme-default/components/Nav/NavMenuGroup.tsx
Expand Up @@ -2,7 +2,7 @@ import { DefaultTheme } from 'shared/types';
import Down from './icons/down.svg';
import Right from './icons/right.svg';
import { Link } from '../Link/index';
import styles from './index.module.scss';
import { useState } from 'react';

export interface NavMenuGroupItem {
text?: string | React.ReactElement;
Expand All @@ -12,14 +12,16 @@ export interface NavMenuGroupItem {

export function NavMenuGroup(item: NavMenuGroupItem) {
const { activeIndex } = item;

return (
<div relative="" className={`${styles.menuGroup} pointer-events-auto`}>
<div relative="" className="nav-menu-group">
<button
flex="center"
nav-h="mobile sm:desktop"
font="medium"
text="sm text-1 hover:text-2"
transition="color duration-200"
className="nav-menu-group-button"
>
<span mr="1" text="sm" font="medium">
{item.text}
Expand All @@ -32,7 +34,7 @@ export function NavMenuGroup(item: NavMenuGroupItem) {
m="x-0.8"
opacity="0"
transition="opacity duration-300"
className={styles.menuGroupContent}
className="nav-menu-group-content"
>
<div
p="3"
Expand Down
6 changes: 0 additions & 6 deletions src/theme-default/components/Nav/index.module.scss
Expand Up @@ -55,9 +55,3 @@
.container :deep(*) {
pointer-events: all;
}

.menu-group:hover {
& .menu-group-content {
opacity: 1;
}
}
24 changes: 24 additions & 0 deletions src/theme-default/logic/sideEffects.ts
Expand Up @@ -200,6 +200,29 @@ export function bindingAsideScroll() {
};
}

function bindingMenuGroupToggle() {
const menuGroups = document.getElementsByClassName('nav-menu-group');

Array.from(menuGroups).forEach((menuGroup) => {
const menuButton = menuGroup.getElementsByClassName(
'nav-menu-group-button'
)[0] as HTMLButtonElement;
const menuContent = menuGroup.getElementsByClassName(
'nav-menu-group-content'
)[0] as HTMLDivElement;
menuButton.addEventListener('mouseenter', () => {
console.log(111);

menuContent.style.opacity = '1';
menuContent.style.visibility = 'visible';
});
menuGroup.addEventListener('mouseleave', () => {
menuContent.style.opacity = '0';
menuContent.style.visibility = 'hidden';
});
});
}

export function setupEffects() {
if (!inBrowser()) {
return;
Expand All @@ -210,5 +233,6 @@ export function setupEffects() {
bindingAsideScroll();
}
bindingWindowScroll();
bindingMenuGroupToggle();
setupCopyCodeButton();
}

1 comment on commit 4a5a2a4

@vercel
Copy link

@vercel vercel bot commented on 4a5a2a4 Oct 5, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.