3

我正在尝试(本地)使用 Yepnope 和 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。但是它们都同时加载,无论如何我可以根据像素宽度加载 CSS 文件吗?(参考上述值)。我知道你可以做这个服务器端,但是在我的位置上。

它必须是 js 中的本地端......我目前在 SCSS 中编码。一切都很好,这只是在窗口宽度上注入文件/显示文件的情况。

我想我需要添加一个 if 语句,但是会提供任何帮助!

-尼尔

PS 我在本地运行,在使用 CodeKit 和 SCSS 的新 iMac 上。

4

2 回答 2

3

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',                              // ???
}
,...
于 2013-04-29T14:50:51.973 回答
-1

一些建议:

  1. 将“全部”替换为“仅全部”标签
  2. 将第一次测试中的“max-width: 1070px”替换为移动设备宽度(320 等)
于 2013-06-10T23:51:04.363 回答