Я создал простую панель навигации, при нажатии которой на элемент открывается другой элемент.чтобы скрыть открытое, я написал:
$("#container:not(#navbar)").click(function(){
$("#mini_navbar_home").hide()
});
Я хотел сказать, «где бы на экране (кроме панели навигации) кто-то нажимал, исчезает #mini_navbar_home», но щелчок в любом месте контейнера скрывает это1004 *
это часть скрипта, если поможет:
var navs = new Array("#mini_navbar_home","#mini_navbar_aboutus","#mini_navbar_folan");
var colors = new Array("#home_t","#aboutus_t","#folan_t");
$(document).ready(function(){
$("#home_t").click(function(){
change_bg("#home_t")
navbar_slide_toggle("#mini_navbar_home")
});
.
.
.
$("#container:not(#navbar)").click(function(){
hide_all()
change_bg()
});
});
function change_bg(div){
for(i=0; i<colors.length; i++){
if (colors[i] != div){
$(colors[i]).css("backgroundColor", "#8895B7");
}
}
if ($(div).css("backgroundColor") == "rgb(169, 181, 212)"){
$(div).css("backgroundColor", "#8895B7")
}
else {
$(div).css("backgroundColor", "#A9B5D4")
}
}
function navbar_slide_toggle(div){
for(i=0; i<navs.length; i++){
if (navs[i] != div){
$(navs[i]).hide();
}
}
$(div).slideToggle(0);
}
function hide_all(){
for(i=0; i<navs.length; i++){
$(navs[i]).hide()
}
}
кстати, #navabr вложен в #container, я думаю, что мое решение будет выглядеть глупо для большинства пользователей: D