2013-08-17 71 views
0

有人可能會使用jquery和javascript,請向我解釋爲什麼這段代碼不起作用?
當changeclass被觸發時,圖像previmage應該展開然後減少,但它似乎也沒有做。唯一可行的是底部的警報。即使通話成功,我的jquery動畫功能也無法正常工作

有什麼想法?

<script type="text/javascript"> 
function changeclass() 
{ 
    if ($("#previmage").css({"max-width" : "400px"}){ 
     $("#previmage").animate({"max-width": "100%"}, "fast"); 
     $("#previmage").addClass("clicked").removeClass("normal"); 
    }else{ 
     $("#previmage").animate({"max-width": "400px"}, "fast"); 
     $("#previmage").addClass("normal").removeClass("clicked");  
    } 
    alert("called");  
} 
$("#progressBar").hide(); 
</script> 

問候 jordanzhninja

+1

那是什麼條件下應該做的大小 最大寬度?你是不是指'if($(「#previmage」).css(「max-width」)== 400)'? – Bergi

+0

它點擊圖片時調整大小,基本上使其更大 – user2166538

+0

請添加您的HTML代碼以及我們可能會更好地協助您 – Shaun

回答

3
if ($("#previmage").css({"max-width" : "400px"}) 

確實設置max-width財產和返回jQuery包裝對象,這始終是truthy。您需要使用.css() method作爲一個getter和比較的結果與預期值:

if ($("#previmage").css("max-width") == 400) 

不過,我建議不要立足於CSS樣式的應用程序邏輯。如果您需要/想要將其存儲在DOM中,請使用變量來保存狀態,或使用類(可以使用hasClass進行測試)。

0

最大寬度僅僅允許被允許用於特定類,如果你想增加圖像使用寬度

if ($("#previmage").css({"width"}==400){ 
     $("#previmage").animate({width:"100%"}, "fast"); 
     $("#previmage").addClass("clicked").removeClass("normal"); 
     } 
else{ 
      $("#previmage").animate({width: 400}, "fast"); 
      $("#previmage").addClass("normal").removeClass("clicked"); 

     }