1function myResponsiveMenu(id_menu) { 2 // Afegeix has-submenu 3 $("." + id_menu + " ul li:has(ul)").addClass("has-submenu"); 4 5 var launch = false; 6 var $menu = $('.' + id_menu); 7 8 // Assigna al botó de mòbil la funció per amagar o mostrar el menú 9 $("#boto-menu-mob").click(function (e) { 10 if ($('.' + id_menu).css('display')!='block') { 11 $('.' + id_menu).fadeIn('150'); 12 } 13 $('.' + id_menu).toggleClass("menu-visible"); 14 $(this).toggleClass("boto-menu-desplegat"); 15 }); 16 17 // El contingut dels <a> els posa dins d'un span (pel control de click en mobil) 18 $("." + id_menu + " ul li a").wrapInner("<span />"); 19 20 // Classe últim per l'últim elements del menú de 1ºnivell 21 $("." + id_menu + ">ul>li:last-child").prev("li").addClass("ultim"); 22 23 // Event click per visualització de mòbil 24 $("." + id_menu + " .has-submenu > a, ." + id_menu + " .has-submenu > span").on("click", function(e) { 25 if (esmobil($menu)) { 26 if (!launch) { 27 e.preventDefault(); 28 29 $(this).parent().toggleClass('active'); // li 30 $(this).next('i').toggleClass('active'); // i 31 32 if ($(this).next().next('div').get(0)) { 33 $(this).toggleClass('active').next().next('div').find('div>ul').first().toggleClass('active').fadeIn(300); // a i ul 34 } else { 35 $(this).toggleClass('active').next().next('ul').first().toggleClass('active').fadeIn(300); // a i ul 36 } 37 } 38 } 39 }); 40 41 $("." + id_menu + " .has-submenu > i").on("click", function(e) { 42 if (esmobil($menu)) { 43 if (!launch) { 44 $(this).parent().toggleClass('active'); // li 45 $(this).prev('a,span').toggleClass('active'); // a o span 46 47 if ($(this).next('div').get(0)) { 48 $(this).toggleClass('active').next('div').find('div>ul').first().toggleClass('active').fadeIn(300); // i i ul 49 } else { 50 $(this).toggleClass('active').next('ul').first().toggleClass('active').fadeIn(300); // a i ul 51 } 52 } 53 } 54 }); 55 56 // Event click sobre el text en vista móbil 57 $("." + id_menu + " .has-submenu > a > span").click(function(e) { 58 if (esmobil($menu)) { 59 launch = true; 60 } 61 }); 62 63 var $contenidors_li = $("." + id_menu + ">ul>li>div>div>ul").parent().parent().parent(); 64 $contenidors_li.each(function(i){ 65 $(this).hoverIntent({ 66 sensitivity: 2, 67 interval: 100, 68 timeout: 200, 69 over: function(e){ 70 if (!esmobil($menu)) { 71 $(this).find("a:first").addClass("hover"); 72 73 var ul = $(this).children("div"); 74 75 // Per calcular l'amplada és necessari que sigui no visible però sense hidden 76 $(ul).css("visibility", "hidden").css("display", "block"); 77 78 // Calcula i estableix la posició respecte el menú principal 79 var abs_top = $("." + id_menu).offset().top + $("." + id_menu).outerHeight(); 80 81 console.log(abs_top); 82 console.log($("." + id_menu).offset().top); 83 console.log($("." + id_menu).position().top); 84 85 var menu_outwidth = $("body").outerWidth(); 86 87 $(ul).offset({ top: abs_top, left: 0}).css("width", menu_outwidth); 88 89 // Reestableix les propietats hidden i display 90 $(ul).css("display", "none").css("visibility", "visible"); 91 92 // El mostra amb un fadein 93 $(ul).fadeIn(300); 94 } 95 }, 96 out: function(e){ 97 if (!esmobil($menu)) { 98 $(this).find("a:first").removeClass("hover"); 99 100 $(this).children("div").fadeOut(200, function () { 101 }); 102 } 103 } 104 }); 105 }); 106} 107 108 109function esmobil($menu) { 110 if ($($menu).css("position")=="absolute") { 111 return true; 112 } 113}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.