Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2012, 02:37
mikile
 
Fecha de Ingreso: junio-2006
Mensajes: 65
Antigüedad: 17 años, 11 meses
Puntos: 0
Menu para móviles no funciona

Buenos días a todos!

Intento hacer funcionar un menu para móviles.
Estoy bastante perdido respeto al Js.
Por eso, os voy a poner directamente los códigos (Js,css,html) y algunos comentarios.

Empezamos con el html:

Código HTML:
<ul id="mb_menu" >
        <li>
          <a class="" href="blog.html">|B l o g|</a>
        </li>
        <li>
          <a class="" href="password.html">|A r c h i v e| </a>
        </li>
        <li>
          <a class="" href="bio.html">|B i o - C o n t a c t|</a>
        </li>
        <li>
          <a class="" href="corporate.html">|C o r p o r a t e|</a>
        </li>
        <li>
          <a class="" href="stories.html">|S t o r i e s|</a>
        </li>
        <li>
          <a class="active" href="index.html">|H o m e|</a>
        </li>
      </ul> 


<div class="mobile_menu">
    	<select id="mobile_select">
        </select>
    </div> 
el Js:

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.    
  3.     $('.mb_menu').find('li:has(ul)').addClass('has-menu');
  4.     $('.mb_menu').find('li').each(function(){
  5.         cur_link = $(this).children("a");
  6.         if (!$(this).parent('ul').hasClass('sub-menu'))  {
  7.             $('#mobile_select').append('<option value='+cur_link.attr("href")+'>'+cur_link.text()+'</option>');
  8.         }
  9.         else if (!$(this).parent('ul').hasClass('level1')) {
  10.             $('#mobile_select').append('<option value='+cur_link.attr("href") +'> -- '+cur_link.text()+'</option>');
  11.         }
  12.         else {
  13.             $('#mobile_select').append('<option value='+cur_link.attr("href") +'> - '+cur_link.text()+'</option>');
  14.         }
  15.     });
  16.     //$('.sub-menu').animate({'opacity' : '0'},1);
  17.    
  18.     $('#mobile_select').change(function(){
  19.         window.location.hash = $(this).find                                
  20.         select_val = $(this).val();
  21.         if (select_val.substr(0,1) == '#') {
  22.         window.location.hash = select_val;
  23.         }      
  24.     });
  25.    
  26. })(jQuery);

Y para terminar el css:

.
Código CSS:
Ver original
  1. mobile_menu { display:block!important; height:24px; position:fixed; bottom:0px; background:#FFF; left:0px; width:100%}
  2.     .mobile_select { width:100%; height:24px;}
  3.     .mobile_select option { text-transform:uppercase}

Si al menu (en html) le añado class="menu" después del ul id="mb_menu", me sale el menu pero no me funciona los enlace y el menu de la página normal.

Me gustaría que funcionará con el ul id="mb_menu" únicamente pero no sé que tengo que modificar en el js.

Gracias a todos