如何检查是否调整浏览器大小的条件
how to check if condition on resize of the browser?
我有一个菜单项登录标记,它通过媒体查询在移动设备上以及用户登录时以不同的方式显示。
大型设备 - 登录 - 显示标记
大型设备 - 已注销 - 显示标记
小型设备 - 登录 - 显示标记
小型设备 - 已注销 - 请勿显示标记
标记的条件在 API 中,所以我有一个 if 条件来检查用户是否像这样注销
if (acs.user.loggedin === false) {
$('a.navbar-toggle.icon').hide();
$('#my-menu').show();
}
其余部分仅使用 CSS 完成,并按预期工作。
唯一的问题是,如果用户已注销并在 LargeDevice 上,然后调整为小屏幕。如何告诉浏览器检查浏览器宽度是否调整了大小以重新检查acs.user.loggedin
或此问题的其他解决方案?
不要直接从 Javascript 中显示和隐藏元素,而是更改 JS 代码以将 CSS logged-in
或logged-out
类添加到容器元素。
然后,您可以在媒体查询中和媒体查询中将该类名一起使用 CSS 选择器来指定四种状态:
@media (max-width: 640px) {
.logged-out a.navbar-toggle.icon {
display: none;
}
}
相关文章:
- 通过运行条件编译防止JS泄露IE浏览器
- 基于浏览器窗口大小的条件 JavaScript 执行
- 如何检查是否调整浏览器大小的条件
- 条件捕获子句-浏览器支持
- 使用PHP在浏览器中有条件地呈现Javascript函数调用
- 添加面向 IE 浏览器的 CSS 类:JavaScript 或条件注释
- 是否有任何条件仅在 javascript 中按下浏览器关闭 (x) 时检测
- 有条件地将文件内容从服务器发送到浏览器
- 浏览器化、缩小化、条件编译
- 如何使用JavaScript /条件注释测试浏览器是否符合CSS3
- 如何 PHP 如果条件与浏览器宽度
- 切换“.show”和“.hide”,条件始终为“.show”,如果浏览器视口处于特定宽度或更大.(响应式/移动菜单)
- Javascript:当Javascript在IE中工作而在Firefox或其他浏览器中不工作时,有什么不同的条件
- RequireJS 定义浏览器争用条件
- 当浏览器不支持HTML5历史API时,有条件地通过ajax加载history.js
- 当满足特定条件时,可以让浏览器播放声音文件
- 如果浏览器窗口高度为X,并且元素滚动到其中的X点,则合并条件
- 检测浏览器关闭所有条件
- 在Django中使用JS压缩器处理浏览器条件JS
- JavaScript浏览器条件执行