marioloncarek / megamenu-js

Last responsive megamenu you'll ever need
MIT License
360 stars 115 forks source link

Dropdown fadeToggle bug #5

Closed ghost closed 8 years ago

ghost commented 8 years ago

Hey, me again. Found another bug. When you mouseout of the dropdown fast enough, the dropdown is still clickable. Any way to bypass this?

Thank you so much.

ghost commented 8 years ago

Here's a video where you can see more clearly: http://mateitudor.com/megamenu/megamenu-dropdown-bug.mov

ghost commented 8 years ago

In the meantime, I wrote about it here and found half a fix (my js knowledge is limited): http://stackoverflow.com/questions/37980139/dropdown-should-not-have-pointer-events-during-fadetoggle-fade-out

marioloncarek commented 8 years ago

Hello @mateitudor ! What happens here is that you have animation with jquery (fade) that is animation 150ms. Animation goes something like this: display block (start) - opacitiy from 1 - 0 and then display none. That happens in 150ms. What you do with aggressive mouse hovering is that you hover in the time jquery animation is not yet finished, and in that time dropdown menu is not yet set in display none, and so basically you are still hovering .menu > ul > li and then animation starts over again.

The fastest solution is to put fadeToggle(0) in hover event. Im gonna try to find nice solution.

Thanks again !

ghost commented 8 years ago

Hey, thanks for answering. The thing is that it should be time independent, don't you think? Let's say you have an animated icon inside the dropdown, like an animated .svg — you should be able to not sacrifice UI choreography to avoid a bug.

Hope I'm not bugging you. Thank you, sir.

marioloncarek commented 8 years ago

Hello, As I said this is not a bug! I dont know if you are aware but you could see exactly how jquery animates if you inspect element. There you will see what I explained in the first answer.

ghost commented 8 years ago

Sorry for answering just now, I was out of town. Due to the fact it messes up the fadeOut, maybe it's not a bug, but it's weird UX.

marioloncarek commented 8 years ago

Animations are done with jquery so maybe you could ask on their forum (or stack overflow) why is that or is not a bug. Thanks for using megamenu.js and be sure to see v2 preview at https://github.com/marioloncarek/megamenu-js/tree/v2

2016-07-06 14:19 GMT+02:00 Matei Tudor notifications@github.com:

Sorry for answering just now, I was out of town. Due to the fact it messes up the fadeOut, maybe it's not a bug, but it's weird UX.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/marioloncarek/megamenu-js/issues/5#issuecomment-230755387, or mute the thread https://github.com/notifications/unsubscribe/AKtUK02YbHSBpCTCAN5oB59HSV3kicYsks5qS51agaJpZM4I8VZS .

MARIO LONCAREK Web designer & developer http://marioloncarek.com

ghost commented 8 years ago

Thank you, sir. You can close this one.