2012-03-29 9 views
6

Por favor ver el jQuery a continuación:!cómo usar importante en jQuery animado() la función

estoy realmente preguntando ¿cómo puedo usar CSS para !importantheight en este código.

 $j('#lveis-wrapper_3').animate({ 
      opacity: 0.0, 
      height : 200 
     }, 1200); 

El CSS de #lveis-wrapper_3 es el siguiente:

#lveis-wrapper_3 
{ 
    width: 844px !important; 
    height: 936px !important; 
    margin: 0pt 0pt 10px !important; 
    padding: 0pt !important; 
    float: none; 
} 

no puedo quitar !important de height: 936px por algunas razones ...
por lo que quiero cambiar eso height por animate() función jQuery - pero ¿cómo ?

+3

Uf, todos aquellos 'important' ... Debe haber una manera de reorganizar su código ... – elclanrs

+0

@! elclanrs gracias por sus comentarios :) – MoonLight

Respuesta

6

Simplemente no puede hacer esto.

Según ...

"Todas las propiedades de animación necesario que estén animados a un solo valor numérico ... ... la mayoría de las propiedades que son no numérico no puede estén animados con jQuery básica funcionalidad ..."

http://api.jquery.com/animate/


Recomiendo volver a examinar su necesidad de !important.

+2

A veces '! important' es útil. No poseo el código HTML, ni puedo solicitar un cambio. Esto significa que tendré que reemplazar su CSS, etc. lo que hace que el código sea innecesariamente más largo. – Laoujin

+2

@Laoujin, para ser justos, no dije _ "nunca lo use" _ o _ "no lo use" _. Simplemente dije que su _ "necesidad" _ debería ser _ "reexaminada" _. – Sparky

0

No puede hacer eso, pero intente esto!

Dependiendo de si es un DIV, IMG, ... tendrá que hacer algo como esto. Este ejemplo es en el caso de una imagen:

$j('img#lveis-wrapper_3').animate({ 
     opacity: 0.0, 
     height : 200 
    }, 1200); 

Las prioridades se definen en CSS con la especificidad del selector. Su especificidad selector para #id fue 1.0.0, pero añadiendo img # id ahora es 1.0.1, por lo tanto, la prioridad es mayor.

+1

Bastante seguro que el '! Important' en la hoja de estilo lo anularía, ¿no? –

+0

@PlatinumAzure Correcto, acabo de probarlo. – superphonic

2

Puede usar la transición css para que funcione, porque la transición css funcionará incluso si el atributo de estilo se cambia por $ (elem) .attr ('estilo', '...');

que utilice:

js

// the element you want to animate 
$(elem).attr('style', 'your_style_with_important'); 

css

elem { 
    transition: all 0.2 linear; 
    -moz-transition: all 0.2 linear; 
    -webkit-transition: all 0.2 linear; 
} 
Cuestiones relacionadas