使用javascript操纵:before和:after

使用javascript操纵:before和:after,javascript,css,class,Javascript,Css,Class,我有一个下拉导航栏(小提琴和下面的片段)。单击子项时,JS函数将进行Ajax调用(未显示)。我想要实现的是在单击子项时隐藏子项列表,以避免当前讨厌的重叠 函数GetData(单击,WhichItem){ //在工作版本中,这里是一个Ajax调用; document.getElementById(“MainContainer”).innerHTML='someTextSomeTextSomeText'; } 正文{ 保证金:0; 填充:0; 背景#fcf8f2; } .NavBarContain

我有一个下拉导航栏(小提琴和下面的片段)。单击子项时,JS函数将进行Ajax调用(未显示)。我想要实现的是在单击子项时隐藏子项列表,以避免当前讨厌的重叠

函数GetData(单击,WhichItem){
//在工作版本中,这里是一个Ajax调用;
document.getElementById(“MainContainer”).innerHTML='someTextSomeTextSomeText';
}
正文{
保证金:0;
填充:0;
背景#fcf8f2;
}
.NavBarContainer{
位置:块;
明确:两者皆有;
排名:0;
宽度:100%;
背景:4a535b;
}
纳瓦尔先生{
列表样式:无;
填充:0;
保证金:0;
}
NavBar ul li先生{
显示:块;
位置:相对位置;
浮动:左;
}
.NavBar li ul{显示:无;}
NavBar ul li a.先生{
显示:块;
填充:0.6rem;
文字装饰:无;
空白:nowrap;
颜色:#fffbf4;
字号:1.2rem;
字母间距:0.1rem;
-网络工具包动画:Fadein1s;
动画:Fadein1s;
}
NavBar ul li a:悬停{
背景#2c3e50;
-webkit过渡:背景色0.5s缓变;
-moz过渡:背景色0.5s缓变;
-o型过渡:背景色0.5s缓变;
过渡:背景色0.5s缓变;
}
.NavBar li:悬停>ul{
显示:块;
位置:绝对位置;
}
.NavBar li:hover li{float:none;}
NavBar li:将鼠标悬停在{背景:#4a535b;}
.NavBar li:hover li a:hover{background:#2c3e50;}
.NavBar li ul li{边框顶部:0;}
纳瓦尔先生{
左:100%;
排名:0;
}
NavBar ul:之前,
纳瓦尔:之后{
内容:;/*1*/
显示:表格;/*2*/
}
.NavBar ul:在{clear:两者;}之后
.主集装箱{
背景#fffcf9;
保证金:自动;
宽度:80%;
边框样式:实心;
边界宽度:薄;
边框颜色:#e2e0d9;
填充:1rem;
颜色:红色;
}


您可以停用指针事件,并在子菜单隐藏后立即重新激活它,例如:

函数GetData(单击,WhichItem){
//在工作版本中,这里是一个Ajax调用;
document.getElementById(“MainContainer”).innerHTML='someTextSomeTextSomeText';
//父母
var parent=clicked.parentElement.parentElement;
//取消激活指针事件
style['pointer-events']='none';
//100毫秒后重新激活指针事件
setTimeout(函数(){
style['pointer-events']='';
}, 100);
}
正文{
保证金:0;
填充:0;
背景#fcf8f2;
}
.NavBarContainer{
位置:块;
明确:两者皆有;
排名:0;
宽度:100%;
背景:4a535b;
}
纳瓦尔先生{
列表样式:无;
填充:0;
保证金:0;
}
NavBar ul li先生{
显示:块;
位置:相对位置;
浮动:左;
}
.NavBar li ul{显示:无;}
NavBar ul li a.先生{
显示:块;
填充:0.6rem;
文字装饰:无;
空白:nowrap;
颜色:#fffbf4;
字号:1.2rem;
字母间距:0.1rem;
-网络工具包动画:Fadein1s;
动画:Fadein1s;
}
NavBar ul li a:悬停{
背景#2c3e50;
-webkit过渡:背景色0.5s缓变;
-moz过渡:背景色0.5s缓变;
-o型过渡:背景色0.5s缓变;
过渡:背景色0.5s缓变;
}
.NavBar li:悬停>ul{
显示:块;
位置:绝对位置;
}
.NavBar li:hover li{float:none;}
NavBar li:将鼠标悬停在{背景:#4a535b;}
.NavBar li:hover li a:hover{background:#2c3e50;}
.NavBar li ul li{边框顶部:0;}
纳瓦尔先生{
左:100%;
排名:0;
}
NavBar ul:之前,
纳瓦尔:之后{
内容:;/*1*/
显示:表格;/*2*/
}
.NavBar ul:在{clear:两者;}之后
.主集装箱{
背景#fffcf9;
保证金:自动;
宽度:80%;
边框样式:实心;
边界宽度:薄;
边框颜色:#e2e0d9;
填充:1rem;
颜色:红色;
}


您可以停用指针事件,并在子菜单隐藏后立即重新激活它,例如:

函数GetData(单击,WhichItem){
//在工作版本中,这里是一个Ajax调用;
document.getElementById(“MainContainer”).innerHTML='someTextSomeTextSomeText';
//父母
var parent=clicked.parentElement.parentElement;
//取消激活指针事件
style['pointer-events']='none';
//100毫秒后重新激活指针事件
setTimeout(函数(){
style['pointer-events']='';
}, 100);
}
正文{
保证金:0;
填充:0;
背景#fcf8f2;
}
.NavBarContainer{
位置:块;
明确:两者皆有;
排名:0;
宽度:100%;
背景:4a535b;
}
纳瓦尔先生{
列表样式:无;
填充:0;
保证金:0;
}
NavBar ul li先生{
显示:块;
位置:相对位置;
浮动:左;
}
.NavBar li ul{显示:无;}
NavBar ul li a.先生{
显示:块;
填充:0.6rem;
文字装饰:无;
空白:nowrap;
颜色:#fffbf4;
字号:1.2rem;
字母间距:0.1rem;
-网络工具包动画:Fadein1s;
动画:Fadein1s;
}
NavBar ul li a:悬停{
背景#2c3e50;
-webkit过渡:背景色0.5s缓变;
-moz过渡:背景色0.5s缓变;
-o型过渡:背景色0.5s缓变;
过渡:背景色0.5s缓变;
}
.NavBar li:悬停>ul{
显示:块;
位置:绝对位置;
}
.NavBar li:悬停li{f
function GetData(TheClicked,WhichItem) {
  parent = TheClicked.parentElement.parentElement; //get the UL
  parent.style.display = 'none'; //hide it

  //In the working version, here is an Ajax call;
  document.getElementById("MainContainer").innerHTML = 'SomeTextSomeTextSomeTextSomeText';

  //remove the display set before
  setTimeout(function(){
    parent.style.removeProperty('display');
  }, 50)
}