Jump to content

Recommended Posts



onload = function() {
(new ShowHide('hide-text', 'caption-text')).init();
}

Есть скрипт выпадающего меню при клике на него, но вот что бы его закрыть, нужно опять по нем кликнуть, как прописать так что бы оно закрывалось и при клике в другом месте страницы?

 

Вот еще один код:

function ShowHide(c,d){this.hideClass=document.getElementsByClassName(c);this.captionClass=document.getElementsByClassName(d);for(var b=this,a=this.hideClass.length;a--;)this.hideClass[a].style.display="none";this.init=function(){for(var a=b.captionClass.length;a--;)b.captionClass[a].onclick=function(){var a=this.parentNode.children[1];switch(a.style.display){case "none":for(var c=b.hideClass.length;c--;)b.hideClass[c].style.display="none";a.style.display="block";break;case "block":a.style.display="none"}},b.captionClass[a].onmousedown=b.captionClass[a].onselectstart=function(){return!1}}}void 0==document.getElementsByClassName&&(document.getElementsByClassName=function(c){for(var d=[],c=RegExp("\\b"+c+"\\b"),b=this.getElementsByTagName("*"),a=b.length;a--;)c.test(b[a].className)&&d.push(b[a]);return d});
Edited by mgtv
Link to post
Share on other sites

если используется jQuery:

$(document).click(function(event){
        if ($(event.target).closest(".selector").length)  //Событие сработает при клике в любом месте документа, кроме указанного селектора
        return;
        // Здесь все действия которые нужно сделать (скрыть меню, заставить сайт мигать как елка и т.д.)
        event.stopPropagation();
});
Link to post
Share on other sites

 

если используется jQuery:



$(document).click(function(event){
        if ($(event.target).closest(".selector").length)  //Событие сработает при клике в любом месте документа, кроме указанного селектора
        return;
        // Здесь все действия которые нужно сделать (скрыть меню, заставить сайт мигать как елка и т.д.)
        event.stopPropagation();
});
function ShowHide(c,d){this.hideClass=document.getElementsByClassName(c);this.captionClass=document.getElementsByClassName(d);for(var b=this,a=this.hideClass.length;a--;)this.hideClass[a].style.display="none";this.init=function(){for(var a=b.captionClass.length;a--;)b.captionClass[a].onclick=function(){var a=this.parentNode.children[1];switch(a.style.display){case "none":for(var c=b.hideClass.length;c--;)b.hideClass[c].style.display="none";a.style.display="block";break;case "block":a.style.display="none"}},b.captionClass[a].onmousedown=b.captionClass[a].onselectstart=function(){return!1}}}void 0==document.getElementsByClassName&&(document.getElementsByClassName=function(c){for(var d=[],c=RegExp("\\b"+c+"\\b"),b=this.getElementsByTagName("*"),a=b.length;a--;)c.test(b[a].className)&&d.push(b[a]);return d});

Вот еще один код, его я подключаю из вне...

Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...