【发布时间】:2014-08-14 10:07:13
【问题描述】:
当我点击顶部栏按钮时,我想显示我的菜单,但它不起作用...
我的 JS 代码:
var topBarToggle = document.getElementById('top-bar-toggle');
var topBarUl = document.getElementById('top-bar-ul');
topBarToggle.addEventListener('click', onClickOnTopBarToggle, false);
function onClickOnTopBarToggle(e){
topBarUl.style.display = topBarUl.style.display === 'none' ? '' : 'none';
}
我的 CSS 代码:
@media screen and (max-width : $container-width){
ul#top-bar-ul{
display: none;
}
}
当我点击按钮时,什么都没有发生,我没有任何错误...但是<ul> 没有得到display:block 属性...
编辑#1:
var topBarToggle = document.getElementById('top-bar-toggle');
var topBarUl = document.getElementById('top-bar-ul');
topBarToggle.addEventListener('click', onClickOnTopBarToggle, false);
function onClickOnTopBarToggle(e){
console.log(topBarUl.style.display);
topBarUl.style.display = topBarUl.style.display === 'none' ? 'block' : 'none';
}
日志:
main.js:101
none main.js:101
block main.js:101
none main.js:101
block main.js:101
none main.js:101
【问题讨论】:
-
? '' : 'none'应该是? 'block' : 'none'。 -
不,这不是问题...我想问题是我的 CSS 代码中的 CSS 属性,Javascript 可能无法删除她...
-
这就是问题所在,不设置任何东西,css 规则就会起作用,你必须用“block”内联覆盖它,或者这个元素应该是什么:“inline”,“inline-块”、“表”等...
-
查看编辑#1...第一次不起作用...
-
第一次没有“none”,所以只需手动将其设置为“none”...
标签: javascript jquery css menu responsive-design