2013-07-25 55 views
0

我正在使用jQuery爲我的頁面上的元素進行動畫製作。如何獲取元素的創作風格屬性?

爲了在年底重新初始化我的所有元素的位置,我需要讓我的元素,在我的樣式表中指定%的創作特性。

我第一次使用.css()功能,但它給我的計算值,這是我不想要的。我正在尋找我在CSS中聲明的值(百分比或像素)。

任何想法如何得到?

+0

嘗試.attr(「樣式」) –

+0

@CécileBoucheron:在通過jQuery爲元素設置動畫之前,您必須記錄每個元素的原始CSS值;我通過使用數據屬性記錄了值,但有很多方法可以解決這個問題。或者,如果可以,通過'element.attr(「style」,「...」)設置值來設置動畫效果,因爲內聯樣式優先於類定義。然後,您可以訪問原始CSS值並使用該值通過設置樣式'element.attr(「style」,「...」)來重新初始化位置' – emgee

+0

謝謝。我所有的樣式都在我的樣式表中,所以'attr('style')'不是解決方案:/ –

回答

1

解決方案是使用.position()而不是.css('top').css('left'),然後將這些值轉換爲百分比。

0

@CécileBoucheron

看看這個Fiddle,看看它給你的依據是你如何對待你的確切情況的一些想法。

這並不完美,如果您使用%值聲明原始位置,jQuery將返回元素的像素位置,因此如果您的設計需要響應,它可能不夠用。

一個有趣的事情要注意,如果你的元素最初是隱藏的 - display:none - 並且在顯示元素之前你記錄了它原來的CSS聲明位置,你將得到在CSS樣式中聲明的%age值。可能在你的情況下工作?

乾杯!