返回介绍

saber-matchmedia v1.0.0

发布于 2023-10-15 20:10:06 字数 2630 浏览 0 评论 0 收藏 0

移动端 matchMedia 支持。

Installation

通过 edp 引入模块:

edp import saber-matchmedia

Usage

该模块有 两个版本完整版 性能高,体积较大;简化版 体积小,功能受限;请根据项目需求自由选择。

完整版

默认版本,返回的对象包含 MediaQueryList 的所有主要功能:

var matchMedia = require('saber-matchmedia');

完整版 来自 weblinc/media-match,性能 (via jsperf) 比 Native matchMedia 高,远超 paulirish/matchMedia.js

简化版

该版本 不支持 MediaQueryListaddListenerremoveListener

var matchMedia = require('saber-matchmedia/lite');

简化版paulirish/matchMedia.js 不带 桌面浏览器 兼容的版本。

屏幕翻转

因为 orientationchange 的支持情况不佳,resize 又在很多情况下都会触发,所以通常用该模块来判断屏幕翻转:

var matchMedia = require('saber-matchmedia');

matchMedia('screen and (orientation: portrait)')
    .addListener(orientationHandler);

function orientationHandler(mql) {
    // do something...
}

API

使用方式与标准的 window.matchMedia 一致,请参考 MDN上的文档

Methods

matchMedia(mediaQueryString)

返回一个 MediaQueryList 对象(在不支持原生 matchMedia 的设备返回模拟的对象)。

  • mediaQueryString {string} Media Query
  • return {MediaQueryList}

Classes

MediaQueryList 实例的属性与方法。

matches

Media Query 规则匹配则返回 true,否则为 false

  • return {boolean}

media

Meida Query 的值。

  • return {string}

addListener(listener)

MediaQueryList 对象 添加 监听函数的方法。

  • listener {Function} 回调函数

removeListener(listener)

MediaQueryList 对象 移除 监听函数的方法。

  • listener {Function} 回调函数

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文