2015-09-26 23 views
-3

我想在jQuery中使用if語句來動畫div及其內部的所有內容。我正在使用在其他實例中工作的代碼。由於某些原因,else聲明沒有效果,是否將它與動畫一起使用?如果/其他在jquery動畫不工作

$(document).ready(function() { 
    $('.container ').on('click', enlarge); 
    function enlarge() { 
     if ($(this).css('font-size') != '100%') 
      $(this).animate({ 'font-size': '100%' }, 1000); 
     else 
      $(this).animate({ 'font-size': '62.5%' }, 1000); 
    }; 
}); 

if工作正常。該容器在頁面上加載62.5%,然後單擊它將其放大到100%。現在我想縮小它,如果有人再次點擊,那麼else。但第二次點擊沒有任何反應。

如果我拿出單詞else,然後點擊它放大到100%,然後再縮小到62.5%,這是有道理的。但是縮小的代碼起作用。

我也試過包括以下代替else,但結果相同,沒有任何結果。

else if 
    ($(this).css('font-size') == '100%') 
+3

你檢查什麼是'$(本)返回的.css(「字號」)'' – Tushar

+0

是this'不是你認爲什麼這裏。除此之外,通常使用特定的類來處理這些事情的方面或透明度,可讀性和可維護性更好。也許像「放大文本」。這也允許在CSS中保留真實的樣式規則,而不是在邏輯代碼中。 – arkascha

+0

字體大小以px返回,而不是百分比檢查http://jsfiddle.net/tusharj/1kg4g8zy/您必須更新您的if條件 – Tushar

回答

0
$(this).css('font-size') 

上面的代碼返回 '像素' 值。

,如果你想要得到的百分比值使用此

$('.container')[0].style.fontSize