Last modified: 2014-05-30 11:04:24 UTC

Wikimedia Bugzilla is closed!

Wikimedia migrated from Bugzilla to Phabricator. Bug reports are handled in Wikimedia Phabricator.
This static website is read-only and for historical purposes. It is not possible to log in and except for displaying bug reports and their history, links might be broken. See T65253, the corresponding Phabricator task for complete and up-to-date bug report information.
Bug 63253 - Hovercards/Popups do not close in browsers without animationend
Hovercards/Popups do not close in browsers without animationend
Status: RESOLVED FIXED
Product: MediaWiki extensions
Classification: Unclassified
Popups (Other open bugs)
master
All All
: High major (vote)
: ---
Assigned To: Prateek Saxena
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-03-29 06:55 UTC by Matthew Flaschen
Modified: 2014-05-30 11:04 UTC (History)
4 users (show)

See Also:
Web browser: ---
Mobile Platform: ---
Assignee Huggle Beta Tester: ---


Attachments

Description Matthew Flaschen 2014-03-29 06:55:18 UTC
In IE 9 (but same concept should apply to any browser without animationend or prefixed equivalent), the hover cards will show fine.  However, when you mouse out to leave, it just stays there.

It can't show the animation without CSS3 animation support (http://caniuse.com/#search=animation).  However, it should still close.

The solution is probably to use feature detection to determine if animationend exists, and either hide it immediately (or with a simple jQuery fade), or let animationend do its job in supported browsers.

It looks like http://davidwalsh.name/css-animation-callback (from Modernizr) should work (using animation instead of transition), if all browsers with CSS animations support animationend).
Comment 1 Prateek Saxena 2014-03-30 12:37:05 UTC
Its already set in the CSS how much time it takes for the animation to end. Do you think it makes sense to hide the div after that time duration plus a few milliseconds instead of the `animationend` event?

I think the animations are a nice to have and its alright if they dont show in browsers without support (thus not use jQuery animations). I'll let Vibha & Jared take this decision and then make necessary changes.
Comment 2 Matthew Flaschen 2014-03-31 20:27:45 UTC
(In reply to Prateek Saxena from comment #1)
> Its already set in the CSS how much time it takes for the animation to end.
> Do you think it makes sense to hide the div after that time duration plus a
> few milliseconds instead of the `animationend` event?

That seems like it should work cross-browser, if the UX is alright.  setTimeout delays can be longer than requested (e.g. if you request a 0.5 timeout, it could really be 0.75 or more in certain cases), but this shouldn't be a problem.
Comment 3 Gerrit Notification Bot 2014-04-11 11:35:58 UTC
Change 125392 had a related patch set uploaded by Prtksxna:
Replace animiationend with setTimeout

https://gerrit.wikimedia.org/r/125392
Comment 4 Gerrit Notification Bot 2014-04-28 08:07:18 UTC
Change 125392 merged by jenkins-bot:
Replace animationend with setTimeout

https://gerrit.wikimedia.org/r/125392

Note You need to log in before you can comment on or make changes to this bug.


Navigation
Links