mgtv 0 Posted October 7, 2014 Report Share Posted October 7, 2014 (edited) 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 October 7, 2014 by mgtv Link to post Share on other sites
Indigo88 30 Posted October 7, 2014 Report Share Posted October 7, 2014 покажите весь JS код, а то по одной строчке ничего не понятно Link to post Share on other sites
lubart 13 Posted October 7, 2014 Report Share Posted October 7, 2014 если используется jQuery: $(document).click(function(event){ if ($(event.target).closest(".selector").length) //Событие сработает при клике в любом месте документа, кроме указанного селектора return; // Здесь все действия которые нужно сделать (скрыть меню, заставить сайт мигать как елка и т.д.) event.stopPropagation(); }); Link to post Share on other sites
mgtv 0 Posted October 7, 2014 Author Report Share Posted October 7, 2014 если используется 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
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now