Yepnope&Modernizr screen.width条件
我正在尝试(本地)使用Yiznope和Modernizr来加载CSS和JS文件。 所以我可以更好地管理文件,并轻松编写代码。
这是目前的布局:
Modernizr.load([ { test: Modernizr.mq('all and (max-width: 1070px)'), yep: '/css/smartdevice.css','/js/smartdevice.js', } , { test: Modernizr.mq('all and (min-width: 481px) and (max-width: 1069px)'), yep: '/css/tablet.css','/js/tablet.js', }, { test: Modernizr.mq('all and (max-width: 1070px)'), yep: '/css/screen.css','/js/screen.js', } ]);
我是JS的新手,但我在可能的场合使用过jQuery。 但是它们都会立刻加载,无论如何我可以根据px宽度加载CSS文件吗? (参考上述值)。 我知道你可以做这个服务器端,但在我的位置。
它必须是js中的本地端…我目前在SCSS中编码。 一切都很好,这只是在窗口宽度上注入文件/显示文件的情况。
我认为我需要添加一个if语句,但是会提供很多帮助!
-Neil
PS我在本地运行,使用CodeKit和SCSS在新的iMac上运行。
yep: '/css/smartdevice.css','/js/smartdevice.js',
是非法的JS。 如果你想让它成为一个数组,请使用yep: ['/css/smartdevice.css','/js/smartdevice.js'],
. 任何时候你在JavaScript对象中看到一个逗号,假装有一个换行符,你会看到这里出了什么问题:
Modernizr.load([ { test: Modernizr.mq('all and (max-width: 1070px)'), // prop:val(=function) yep: '/css/smartdevice.css', // prop:val(=string) '/js/smartdevice.js', // ??? } ,...
一些建议:
- 将“all”替换为“only all”标签
- 用移动设备宽度(320等)替换第一次测试中的“max-width:1070px”