Foros del Web » Programando para Internet » Jquery »

Problemas con addClass de jquery

Estas en el tema de Problemas con addClass de jquery en el foro de Jquery en Foros del Web. Buenos días. Tengo un menú que al pulsarse hace que cambie el contenido del div por otra pagina y que cambie la clase del elemento ...
  #1 (permalink)  
Antiguo 28/09/2012, 05:13
 
Fecha de Ingreso: diciembre-2011
Mensajes: 19
Antigüedad: 12 años, 4 meses
Puntos: 0
Problemas con addClass de jquery

Buenos días.
Tengo un menú que al pulsarse hace que cambie el contenido del div por otra pagina y que cambie la clase del elemento pulsado, pero no funciona.
Os pongo el código resumido por si alguien puede ayudarme:

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery-1.4.3.min.js"></script>
<script type="text/javascript" src="js/jquery.geturlparam.min.js"></script>
<script>
 $(document).ready(function() { 
  //
  //Comprobamos si le hemos pasado alguna página por url 
  //
    var v_pagina = $.getURLParam("pag");
    //
    //Si hemos pasado una página por url la carganos sion cargamos la pagina de inicio por defecto
    //
    if (v_pagina==null)
   $('#divtest').load('inicio.php');
    else
   $('#divtest').load(v_pagina);
 });
//
//Con esta función cargamos la página que pulsemos en el menú. En el caso de servicios debemos pasar una variable para que cargue una imagen u otra para
//la página pequeña y grande
//

function cargar(div, desde)
{
    $("c_ini").removeClass("nada");
    $("c_ini").addClass("selected");
  $(div).load(desde);
}
</script>
</head>
<body>
<div id="fb-root">
  <div id="templatemo_header">
    <div id="menu">
      <div id="templatemo_menu" class="ddsmoothmenu">
        <ul>
          <li><a onclick="cargar('#divtest', 'inicio.php')" id="c_ini" class="nada">Inicio</a></li>
        </ul>
      </div>
        </div>
    <!-- end of menu -->
  </div>
</div> 
Debe ser una tontería pero me estoy volviendo loco
  #2 (permalink)  
Antiguo 28/09/2012, 05:28
Avatar de YYs86  
Fecha de Ingreso: abril-2012
Ubicación: Salamanca
Mensajes: 136
Antigüedad: 12 años
Puntos: 14
Respuesta: Problemas con addClass de jquery

El posible error que veo es en:

Código Javascript:
Ver original
  1. $("c_ini")

Necesitas un selector de clase "." o de id "#" para apuntar hacia un elemento de tu web que hayas definido así.
__________________
Web developer:

http://xtremgaming.es
http://leaderleague.com
  #3 (permalink)  
Antiguo 28/09/2012, 05:37
 
Fecha de Ingreso: diciembre-2011
Mensajes: 19
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problemas con addClass de jquery

Ostras!!!!!!!!!!!!!!!!!!

Como se me ha pasado???

Muchas gracias, ya lo he puesto y funciona perfectamente.

Muchas gracias otra vez
  #4 (permalink)  
Antiguo 28/09/2012, 07:24
 
Fecha de Ingreso: diciembre-2011
Mensajes: 19
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Problemas con addClass de jquery

Bueno siguiendo con los problemas pongo otro:

En el menú tengo puntos de menú que son desplegables y otros que nó. Los que no son desplegables funcionan perfectamente con la siguiente función:

Código Javascript:
Ver original
  1. function cargar(div, desde, clase)
  2. {
  3.     $("a").removeClass("selected");
  4.     $(clase).addClass("selected");
  5.   $(div).load(desde);
  6. }

Que se activa cada vez que pulsamos sobre uno de los puntos de menú.

Lo raro es que los que tienen desplegables no funcionan pero si que lo hacen si pongo un alert después del reomveClass:

Código Javascript:
Ver original
  1. function cargar(div, desde, clase)
  2. {
  3.     $("a").removeClass("selected");
  4.     alert(clase);
  5.     $(clase).addClass("selected");
  6.   $(div).load(desde);
  7. }

Es como si no le diera tiempo a borrar todas las clases pero con el alert si.

Por cierto el código de los menús es el siguiente:

Código Javascript:
Ver original
  1. <div id="menu">
  2.       <div id="templatemo_menu" class="ddsmoothmenu">
  3.         <ul>
  4.           <li><a onclick="cargar('#divtest', 'inicio.php', '#c_ini')" id="c_ini" class="nada">Inicio</a></li>
  5.           <li><a id="c_webs" class="nada">Webs</a>
  6.             <ul>
  7.               <li><a onclick="cargar('#divtest', 'disenyo_web.php', '#c_webs')">Dise&ntilde;os</a></li>
  8.               <li><a onclick="cargar('#divtest', 'precio_web.php', '#c_webs')">Precios</a></li>
  9.             </ul>
  10.           </li>
  11.           <li><a id="c_servicios" class="nada">Servicios</a>
  12.             <ul>
  13.               <li><a onclick="cargar('#divtest', 'excel.php', '#c_servicios')">Excel</a></li>
  14.               <li><a onclick="cargar('#divtest', 'mysql.php', '#c_servicios')">MySql</a></li>
  15.               <li><a onclick="cargar('#divtest', 'envio_emails.php', '#c_servicios')">E-mails</a></li>
  16.             </ul>
  17.           </li>
  18.           <li><a id="c_programas" class="nada">Programas</a>
  19.             <ul>
  20.               <li><a onclick="cargar('#divtest', 'programas.php', '#c_programas')">Gesti&oacute;n</a></li>
  21.               <li><a onclick="cargar('#divtest', 'programas_constructoras.php', '#c_programas')">Constuctoras</a></li>
  22.             </ul>
  23.           </li>
  24.           <li><a onclick="cargar('#divtest', 'clientes.php', '#c_clientes')" id="c_clientes" class="nada">Clientes</a></li>
  25.           <li><a href="contact.php">Contacto</a></li>
  26.         </ul>
  27.         <br style="clear: left" />
  28.       </div>
  29.         </div>

Alguna idea???

Muchas gracias

Etiquetas: addclass, funcion, html, javascript, js, php, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:20.