2012-03-29 17 views
6

önemli aşağıya jQuery bakınız:nasıl kullanmak jQuery canlandırılır() fonksiyonu

Gerçekten bu kodda height için CSS !important nasıl kullanabileceğinizi merak ediyorum.

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

#lveis-wrapper_3 CSS aşağıdaki gibidir:

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

Ben
yüzden değiştirmek istiyorum ... bazı nedenlerden dolayı height: 936px den !important kaldıramazsınız heightanimate() jQuery işleviyle - ama nasıl ?

+3

Ugh, tüm bu 'important' ... olmalı kodunuzu ... – elclanrs

+0

yeniden düzenlemek için bir yol @! elclanrs için teşekkürler :) – MoonLight

cevap

6

Bunu yapamazsınız. gereğince

...

"Tüm animasyonlu özellikler bir tek bir sayısal değere ... ... temel jQuery kullanarak animasyonlu olamaz sayısal olmayan En özellikleri animasyonlu edilmelidir işlevselliği ..."

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


!important gereksiniminizi yeniden incelemenizi öneririz.

+2

Bazen '! önemli' yararlıdır. HTML koduna sahip değilim ve bir değişiklik talep edemez. Bu, kodu gereksiz yere daha uzun yapan CSS vb. – Laoujin

+2

@Laoujin, tüm adalet içinde, ben "asla kullanma" _ ya da _ "kullanma" _ demedim. Ben sadece _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ yeniden "yeniden incelenmelidir" _ dedi. – Sparky

0

Bunu yapamazsınız, ama bunu deneyin!

Bir DIV, IMG, olup olmadığına bağlı olarak, bunun gibi bir şey yapmanız gerekecektir. Bu örnek bir görüntü olması durumunda geçerli:

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

Öncelikleri

seçici özgüllük ile CSS tanımlanır. İçin selektör özgüllük 1.0.0 oldu #id ama img # id ekleyerek şimdi bu nedenle öncelikli yüksektir, 1.0.1 olduğunu.

+1

Stil sayfasındaki "önemli" öğesinin bunu geçersiz kılacağına kesinlikle emin misiniz? –

+0

@PlatinumAzure Doğru, sadece test edilmiş. – superphonic

2

Çalışmak için css geçişini kullanabilirsiniz, çünkü stil özniteliği $ (elem) .attr ('style', '...') ile değiştirilse bile css geçişi çalışır;

kullandığınız:

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; 
} 
İlgili konular