【发布时间】:2018-09-04 19:42:05
【问题描述】:
我在视图中有以下内容:
<div class="bottom-nav container-fluid">
<div class="container">
<div class="row mobile-menu-row">
<div class="col"></div>
</div>
<div class="row mobile-menu-row">
<div class="slidedown"></div>
</div>
Slidedown 和 Slideup 都取决于用户点击按钮的情况。目前我有一个 440px 的高度应用于底部导航,它是巨大的,如果 Slidedown 存在并且屏幕尺寸低于 768px,真的只想出现在底部导航上。如果出现一个类,有什么建议只在另一个类上应用 CSS 样式?
我尝试过的尝试肯定没有用:
@media and (max-width: 767px) {
.bottom-nav .slidedown{
height: 440px;
}
}
这自然是行不通的,因为它将它应用到滑动而不是底部导航部分。
我的 JS 文件有:
const nav = () => {
const mobileButton = document.querySelector('a.mobile-button');
const menu = document.querySelector('.mobile-menu-cont');
const regionLink = document.querySelector('.mobile-menu-row ul > li');
const regionMenu = document.querySelector('.mobile-menu-row ul > li > ul');
const bottom = document.getElementsByClassName('bottom-nav');
function init() {
mobileButton.addEventListener('click', toggleMenu);
regionLink.addEventListener('click', toggleSubMenu);
}
let toggleMenu = (e) => {
e.preventDefault();
if (menu.classList.contains('slideup')) {
menu.classList = 'slidedown';
} else {
menu.classList = 'slideup';
}
};
if (menu.classList = 'slidedown'){
bottom.setAttribute("style", "height: 440px;")
} else {
bottom.setAttribute("style","height: 0;")
}
我认为该条件会起作用,但它似乎只是破坏了页面上的许多不同内容。
我也试过了:
let toggleMenu = (e) => {
e.preventDefault();
if (menu.classList.contains('slideup')) {
menu.classList = 'slidedown';
bottom.setAttribute("style", "height: 440px;")
} else {
menu.classList = 'slideup';
bottom.setAttribute("style", "height: inherit;")
}
};
这弄乱了我在页面上的很多其他 JS。
【问题讨论】:
-
您没有尝试任何可以向我们展示的代码吗?您是否考虑过媒体查询?
-
有效点。我编辑了这个问题并添加到我当前正在切换的 JS 中。
标签: javascript html css ruby-on-rails