首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条件媒体查询window.matchMedia

条件媒体查询window.matchMedia
EN

Stack Overflow用户
提问于 2017-10-10 14:58:47
回答 1查看 1.7K关注 0票数 1

我正在使用window.matchMedia(),当到达max or min width时,我似乎无法获得应用次要类的函数。我用一个简单的字体大小改变了下面的问题。

我已经阅读了matchMedia(),并且尝试了这两种不同的方法(这两种方法都包含在下面)。是否需要同时包含min和max值才能执行函数?还是我在函数本身的实际结构中遗漏了什么?

代码语言:javascript
复制
$(document).ready(function() {
	
	var mq = window.matchMedia('(max-width: 700px)');
	
	if( mq.matches ) {
		$('.title').addClass('big')
	} else {
		$('.title').removeClass('big');
	}
});


/*
Second method I tried

$(function() {
 if( window.matchMedia('(max-width: 700px)').matches){
		$('.title').addClass('big')
	} else {
		$('.title').removeClass('big');
	}

});


*/
代码语言:javascript
复制
.title {
	font-size: 20px;
}

.big {
	font-size: 30px;
}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1 class="title">This is a title</h1>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-10 15:06:43

它正在工作,也许你希望它能检测到屏幕的大小?它绑定到document.ready(),因此必须刷新页面才能看到它。

试试看:

  • 使窗口小于700,刷新
  • 使窗口大于700,刷新
  • 通知差异:)

换句话说:

代码语言:javascript
复制
$(document).ready(your function)

每次加载页面时,您的函数只执行一次。

或者,使用这个小提琴并运行它。使结果窗口大于或小于700 it并再次运行。

如果每次窗口宽度调整时都需要运行,我建议绑定到window.onresize,就像在这个在调整大小事件时篡改执行中那样

请注意我放在那里的console.log,以查看它是如何触发的,何时触发,您希望在投入生产之前将其删除;)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46669923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档