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

Share this post


Link to post
Share on other sites

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

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

Share this post


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});

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...