Foros del Web » Programando para Internet » Jquery »

Como crear una clase de estilos con jQuery?

Estas en el tema de Como crear una clase de estilos con jQuery? en el foro de Jquery en Foros del Web. Hola , otra duda. Se puede crear una Clase como en la hoja de estilos o se puede modificar la hoja de estilos con jquery? ...
  #1 (permalink)  
Antiguo 07/05/2012, 22:39
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años, 8 meses
Puntos: 5
Como crear una clase de estilos con jQuery?

Hola , otra duda.


Se puede crear una Clase como en la hoja de estilos o se puede modificar la hoja de estilos con jquery?

Por ejemplo yo tengo un plugin con el cual vienen varios themes para cambiar el look and feel de los widgets pero para poder usar el estado :active es mucho mas facil agregar o quitar la propiedad class que modificar cada propiedad manualmente con el metodo css() para cambiar el look n feel y luego todo de nuevo para devolverlo a su estado original.

El usuario está obligado a implementar esta en la hoja de estilos?
En pocas palabras, es posible crear una clase con jquery para luego asignarsela a una etiqueta? Seria muy funcional algo asi, que se pudiera crear dinamicamente sin tener que recurrir al css.

Última edición por shujidan; 07/05/2012 a las 22:48
  #2 (permalink)  
Antiguo 07/05/2012, 23:03
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Como crear una clase de estilos con jQuery?

De la misma manera que en javascript podés cambiar propiedades con
objeto.style.propiedad, cuyo equivalente en jQuery es css(), también tenés la posibilidad de cambiar una clase en su conjunto con className, cuyo equivalente en jQuery son los métodos
removeClass() y addClass()
Espero sea eso lo que querés saber
Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 07/05/2012, 23:20
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: Como crear una clase de estilos con jQuery?

No, el punto es evitar tener que modificar los estilos de esa forma, hace mas pesado el programa y no se puede manipular tan facilmente como lo permiten las clases.
Por ejemplo en lugar de tener que modificar todas las propiedades cada vez a una etiqueta seria mas funcional solo asignarle o quitarle una clase.
La pregunta es si se puede crear o modificar la clase con jquery de forma que no sea necesario para el usuario del plugin crear el estilo manualmente en la hoja de estilos.

Última edición por shujidan; 07/05/2012 a las 23:25
  #4 (permalink)  
Antiguo 07/05/2012, 23:35
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 17 años, 5 meses
Puntos: 1567
Respuesta: Como crear una clase de estilos con jQuery?

y que es lo que te estoy diciendo ?
removeClass() y addClass()
Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  7.  
  8. <style type="text/css">
  9. /*<![CDATA[*/
  10.  
  11. .sobre{
  12. background-color: lime;
  13. width: 200px;
  14. height: 300px;
  15. }
  16. .negro{
  17. background-color: #000;
  18. color: #FFF;
  19. width: 200px;
  20. height: 200px;
  21. border: none;
  22. }
  23. /*]]>*/
  24. </head>
  25. <div id="menu">
  26. <button class="sobre">enviar</button>
  27. </div>
  28.  
  29. <script type="text/javascript">
  30. //<![CDATA[
  31. $(document).ready(function(){
  32.     $("button").mouseover(function() {
  33.         $(this).addClass("sobre").removeClass("negro");
  34.     });
  35.     $("button").mouseleave(function() {
  36.         $(this).removeClass("sobre").addClass("negro");
  37.     });
  38.  
  39. });
  40. //]]>
  41. </body>
  42. </html>

consultá la documentación al menos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #5 (permalink)  
Antiguo 07/05/2012, 23:41
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: Como crear una clase de estilos con jQuery?

Cita:
Iniciado por shujidan Ver Mensaje
La pregunta es si se puede crear o modificar la clase con jquery de forma que no sea necesario para el usuario del plugin crear el estilo manualmente en la hoja de estilos.
la necesidad de crear el estilo dinamicamente es para poder incluir el estilo dentro del archivo .js pero siendo este una clase para su facil manipulacion, no en la hoja de estilos ni fuera del plugin.
  #6 (permalink)  
Antiguo 07/05/2012, 23:51
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: Como crear una clase de estilos con jQuery?

Puedes hacer algo como esto:
Código Javascript:
Ver original
  1. function cambiar(){
  2.     $("foo").toggleClass(".bar");
  3. }
Con esto conseguiras agregar o quitar automaticamente la clase .bar a los elementos tipo foo.
Haber si eso es lo que dices, saludos.
  #7 (permalink)  
Antiguo 07/05/2012, 23:59
Avatar de shujidan  
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años, 8 meses
Puntos: 5
Respuesta: Como crear una clase de estilos con jQuery?

Muchas gracias por responder al tema @IXtremeLT.
La manipulacion de la clase es lo de menos, pues es muy facil con jquery. El problema mas bien seria al establecer las propiedades de la Clase sin tener que recurrir a la hoja de estilos (me refiero a crearla en el contexto de jquery) pero sin perder la utilidad de estos metodos addClass, removeClass y toggleClass como es el que mencionas.
  #8 (permalink)  
Antiguo 08/05/2012, 00:13
 
Fecha de Ingreso: julio-2011
Ubicación: Zapopan, Jal. MX
Mensajes: 316
Antigüedad: 13 años, 5 meses
Puntos: 32
Respuesta: Como crear una clase de estilos con jQuery?

Si lo que quieres es conocer que propiedades tiene una clase, no se puede saber por medio nativo de javascript.

Pero para modicar las propiedades de un elemeto con alguna clase simplemente haces asi:

Código Javascript:
Ver original
  1. $(".my-class").css({
  2.     propiedad1: valor;
  3.     propiedad2: valor;
  4.     etcetc:      : valor;
  5. });

Saludos.

Etiquetas: clase, estilos
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:24.