【发布时间】:2014-06-30 02:37:34
【问题描述】:
如果我只使用 css 而不是显示 .nav-main:before{} 元素,但使用 jQuery 它不会切换该元素并始终保持隐藏。
注意:这发生在移动设备上(在 Android Chrome 中测试)
jQuery
$('.menu-toggle').click(function() {
$('.nav-main').slideToggle(100);
$(this).toggleClass('current');
});
SCSS
.nav-main{
@include breakpoint(max-desktop){
position: absolute;
top: 100%;
left: 0;
min-width: 30%;
width: auto;
display: block;
z-index: 9999;
padding:1px;
background-color: $peter-river;
box-shadow: 5px 5px 10px 0 rgba(0,0,0,0.15);
&:before{
position: absolute;
left: 20px;
top: -13px;
content: "";
display: block;
width: 0;
height: 0;
border-left: 13px solid transparent;
border-right: 13px solid transparent;
border-bottom: 13px solid $peter-river;
}
}
}
【问题讨论】:
-
我在你的 CSS 中没有看到“当前”类。
-
那是
.menu-toggle元素,我认为与.nav-main:before无关! -
你说“它不是切换那个元素”,我不明白,但是在你的 JS 中切换的是“当前”类。所以也许你的CSS应该适用于
.current而不是.nav-main? -
请用html发布你的整个菜单代码
-
你能发布你的整个代码吗?更好,如果可能的话,也添加一个 jsfiddle 演示?
标签: javascript jquery html css sass