如何检查浏览器调整大小的条件?

时间:2015-03-12 14:29:45

标签: javascript jquery media-queries

我有一个菜单项登录标记,通过媒体查询以及用户登录时在移动设备上的显示方式不同。

LargeDevice - loggedin - ShowMarkup

LargeDevice - loggedOut - ShowMarkup

SmallDevice - loggedin - ShowMarkup

SmallDevice - loggedOut - DoNotShowMarkup

标记的条件是在API中,所以我有一个if条件来检查用户是否像这样注销

  if (acs.user.loggedin === false) {
            $('a.navbar-toggle.icon').hide();
            $('#my-menu').show();
     }

其余部分仅使用CSS完成,并按预期工作。

唯一的问题是用户是否已注销并位于LargeDevice上,然后调整为小屏幕。如何告诉浏览器检查浏览器宽度是否已调整大小以重新检查acs.user.loggedin或其他解决此问题的方法?

1 个答案:

答案 0 :(得分:2)

不是直接从Javascript显示和隐藏元素,而是更改JS代码以将CSS logged-inlogged-out类添加到容器元素。

然后,您可以使用带有该类名的CSS选择器,进出媒体查询,以指定您的四种状态:

@media (max-width: 640px) {
   .logged-out a.navbar-toggle.icon {
       display: none;
   }
}