Skip to content

sparkbox/mediaCheck

Folders and files

NameName
Last commit message
Last commit date

Latest commit

3936f3f · Oct 28, 2021

History

97 Commits
Oct 21, 2021
Oct 24, 2020
Oct 21, 2021
Oct 24, 2020
Jan 12, 2021
Oct 24, 2020
Oct 24, 2020
Oct 21, 2021
Oct 28, 2021
Oct 12, 2021
Jan 12, 2021
Jan 12, 2021

Repository files navigation

                      _ _        ____ _               _
   _ __ ___   ___  __| (_) __ _ / ___| |__   ___  ___| | __
  | '_ ` _ \ / _ \/ _` | |/ _` | |   | '_ \ / _ \/ __| |/ /
  | | | | | |  __/ (_| | | (_| | |___| | | |  __/ (__|   <
  |_| |_| |_|\___|\__,_|_|\__,_|\____|_| |_|\___|\___|_|\_\

This is a simple wrapper around matchMedia to run code on entry and exit from media queries. It also uses browser resize as a fallback for browsers that don't support matchMedia.

Demo

There are two examples here: http://sparkbox.github.io/mediaCheck/

media

Type: string

This is the mediaquery that will trigger the specified action. It should be in the form:

  • (min-width: 420px)
  • (min-width: 35em)
  • (max-width: 800px)
  • (max-width: 60em)

entry

Type: function

This function will execute once when the mediaquery becomes active.

exit

Type: function

This function will execute once when the mediaquery becomes inactive.

both

Type: function

This function will execute once when the mediaquery changes state.

Usage Example:

mediaCheck({
  media: '(max-width: 420px)',
  entry: function() {
    console.log('starting 420');
  },
  exit: function() {
    console.log('leaving 420');
  },
  both: function() {
    console.log('changing state');
  }
});

Change History

  • 1.0.3
    • Fixes a bug that caused the both function to
      only work on exit, but not entry.
  • 1.0.0
    • Drop support for IE < 10
  • 0.4.6
    • You can now pass combined mediaqueries e.g. (min-width: 320px) and (max-width: 800px)
    • It also now accepts [min|max]-aspect-ratio
  • 0.4.5
    • Passing mq to entry, exit, and both

License

Creative Commons Attribution-ShareAlike 3.0 Unported License https://creativecommons.org/licenses/by-sa/3.0/