循环中的Foundation.MediaQuery.current(第一次迭代总是不显示,下一次总是正确的)

问题描述 投票:3回答:2

我使用Foundation.MediaQuery.current来确定当前的断点。每当我第一次打电话给console.log(Foundation.MediaQuery.current)(n = 0)时,我什么都没得到。

对于所有下一次调用(n> 0),我总是得到正确的断点,让我们说large

这是我的功能:

_calculateLimit = function () {
    var postsInjectedCount = container.find('.post-appended').length;

    console.log(Foundation.MediaQuery.current);

    if (Foundation.MediaQuery.current === 'large') { // gives nothing on first iteration :/
        return postsInjectedCount % 3 !== 0 ? 2 : 3;
    }

    return postsInjectedCount % 2 !== 0 ? 1 : 2;
},

下图显示了Chrome Dev Tools的屏幕。

enter image description here

有用信息1:首次通话和下次通话之间的业务逻辑没有区别。

有用信息2:我使用Foundation For Sites ~6.2.1

我究竟做错了什么?

javascript jquery zurb-foundation zurb-foundation-6
2个回答
3
投票

在Foundation初始化之前,您似乎正在运行代码。将init代码放在JavaScript文件的顶部是一个好习惯。


0
投票

如果将console.log放在函数末尾,您会看到它更好。所以尝试一下,然后告诉结果。

它将阐明错误的位置。

© www.soinside.com 2019 - 2024. All rights reserved.