jQuery函数在不应该运行时运行

jQuery function running when it shouldn't

本文关键字:运行时 运行 不应该 函数 jQuery      更新时间:2023-09-26

我有一个函数,它只需要在宽度小于特定值时运行。 我已经用if ($(window).width() < n) { }完成了此操作,但是当宽度大于n时,该函数也会运行。

if if ($(window).width() < n) { }工作正常,因为背景颜色会发生变化(浅灰色表示<1000 像素,深灰色表示> 1000 像素)。

由于该函数在不应该运行时也运行我的分页符的布局(单击选项卡,然后调整大小以查看此内容)。当函数不应该运行时,常规选项卡应该显示,如您所见,它们会正确显示,直到您单击它们切换(这是函数被触发而不应该触发)。

有人可以帮助我吗?

法典

演示(<滚动并> 1000 像素以查看)

PS:我知道尽管我仅限于为此使用a,但会有更好的用途。

除了if (windowsize < 1000),您还需要知道当前状态。

if (is_large && windowsize < 1000)
{
    is_large = false;
    // rest of code to handle transition to small size
}
else if (!is_large)
{
    is_large = true;
    // code to handle transition to large size
}

您还需要处理在初始调用checkWidth()之前在页面加载时设置is_large的情况。