2011-07-09 50 views
1

我只需要如果對象是在留有一定比例,使用的CSS(觸發事件「左」),在jQuery的這一切。 到目前爲止,這是我的代碼:if語句的.css百分比

HTML:

<div id="midDiv"><img ..../></div> 

腳本:

$(document).ready(function(){ 
$("#midDiv").click(function() { 

    if($('#midDiv').css('left') === '50%') 
    { 
     $("#midDiv").animate({ 
    left: "+=70%"}, 
    { queue: false, duration: 900, easing:'swing' } 
    ); 
    } 
}); 

}); 

這顯然是不工作的,但它的作品,如果我使用 「PX」,而不是%。我想這是因爲.css()返回一個字符串,但我想知道是否有百分比的方式。我也嘗試了offset(),但它也以像素爲單位返回了值。

回答

1

有沒有辦法讓與.css()這個比例,你不得不手動計算出百分比。

+0

但這樣做,我應該得到的文檔的寬度,對不對?我該怎麼做?我嘗試了類似的東西,它返回'無限'LoL對不起,我有點新jQuery和JavaScript。 – Alice

0

這是因爲的CSS返回實際值設置,它不以任何方式進行計算。

One解決方案將是向上遍歷DOM樹,直到你發現有一個位置!=靜態最接近的父母,得到它的寬度和劃分元素與值的偏移量。

一定要使用,雖然由於增量浮動點的性質。

+0

和我可以得到的HTML文件的寬度? – Alice

+0

'$(document).innerWidth()':http://api.jquery.com/innerWidth/ –

+0

你剛剛救了我,謝謝! – Alice