jquery - 如何在jquery中组合两个不同的媒体查询
问题描述
请参阅下面的 jquery 代码并帮助我最小化代码。所以我希望两个不同的媒体查询组合在一行中。
jQuery
$('.navbar-close').click(function(){
$('.navbar').animate({'height':'0'});
if (window.matchMedia('(max-width: 479px)').matches){
$('body').css({'overflow':'auto'});
}
if (window.matchMedia('(max-width: 767px)').matches){
$('body').css({'overflow':'auto'});
}
});
解决方案
这可以像我们在 CSS 中那样简单地完成,例如:
if (window.matchMedia('(max-width: 479px), (max-width: 767px)').matches){
$('body').css({'overflow':'auto'});
}
来自媒体查询文档:
,
(逗号)逗号用于将多个媒体查询组合成一个规则。逗号分隔列表中的每个查询都与其他查询分开处理。因此,如果列表中的任何查询为真,则整个媒体语句都返回真。换句话说,列表的行为类似于逻辑或运算符。
推荐阅读
- ruby-on-rails - 在 ubuntu 16.04 上将 rails sidekiq 作为系统服务运行
- google-chrome - Vuejs 无法在 IE 上运行
- mysql - sql连接多个条件
- c - C规则中的extern关键字
- mysql - 新手的Mysql存储过程方程一步一步?
- android - 如何在android上将波特率设置为高速
- android - EditText 被推离屏幕
- rethinkdb - ReQL 等效于 Select * from table where id in ()
- firebase - Facebook and Gmail Sign-in using google firebase not working with safari browser
- azure-sql-database - 无法使用 SSMS 2016 远程连接到 SQL Azure DB