当我的网站在桌面大小的显示器上时,我想要加载的其他jQuery脚本不会在移动大小的显示器上加载。什么是Jquery的媒体查询equivilent
CSS具有媒体查询功能,可以根据浏览器大小轻松加载CSS文件。 Jquery有没有相当于这个?
背景研究:
这里有一些解决方案,我发现每个的缺点。
解决方案1:Enquire.js - 这应该是媒体查询相当于为Javascript(我认为)。但是,文档不是很清楚(至少对于初学者来说)。
例如,this tutorial给出了下面的例子:
enquire.register("max-width: 960px", function() {
// put your code here
});
但是,如果您复制并粘贴jQuery代码,它说,没有任何反应!我想你可能需要链接到你的Jquery文件,但是文档没有解释如何做到这一点!
解决方案2:Use Window Resize - 您可以使用$(window).resize
触发脚本。但是,只有用户重新调整浏览器的大小时才能使用。这对于窗口始终最大化的桌面用户来说并不好。
还有一个问题是每次浏览器重新调整大小时都会加载脚本。这可能是某些脚本的问题(请参阅示例here,如果该窗口调整了几次大小,false/true字样将无限重复)。
解决方案3:Set a hidden 100% width DIV and then run a script that checks it's width - 这样做的缺点是,它只能运行在第一次加载页面,所以它不适合谁改变了他们的窗口(或设备的方向)的大小的用户。 You can run a timer so it checks宽度每1秒,但这似乎不是很有效。
有谁知道有效的解决方案吗?
谢谢。
PS。这个问题是关于Jquery的媒体查询等效。这不是试图在JavaScript中重新创建CSS媒体查询(即,它不是使用Jquery为不同的窗口大小加载不同的CSS文件,这是通过css3-mediaqueries-js实现的)。
查询应该为你工作。你可以在一个演示页面失败吗? – Bergi
与enquire.js同上,这是您应该关注的解决方案。 – justinavery
好主意。我发布了关于如何使用Enquire.js的单独问题:http://stackoverflow.com/questions/12777622/how-to-use-enquire-js感谢您的帮助! –