我正在使用jQuery爲我的頁面上的元素進行動畫製作。如何獲取元素的創作風格屬性?
爲了在年底重新初始化我的所有元素的位置,我需要讓我的元素,在我的樣式表中指定%的創作特性。
我第一次使用.css()
功能,但它給我的計算值,這是我不想要的。我正在尋找我在CSS中聲明的值(百分比或像素)。
任何想法如何得到?
我正在使用jQuery爲我的頁面上的元素進行動畫製作。如何獲取元素的創作風格屬性?
爲了在年底重新初始化我的所有元素的位置,我需要讓我的元素,在我的樣式表中指定%的創作特性。
我第一次使用.css()
功能,但它給我的計算值,這是我不想要的。我正在尋找我在CSS中聲明的值(百分比或像素)。
任何想法如何得到?
解決方案是使用.position()
而不是.css('top')
或.css('left')
,然後將這些值轉換爲百分比。
@CécileBoucheron
看看這個Fiddle,看看它給你的依據是你如何對待你的確切情況的一些想法。
這並不完美,如果您使用%值聲明原始位置,jQuery將返回元素的像素位置,因此如果您的設計需要響應,它可能不夠用。
一個有趣的事情要注意,如果你的元素最初是隱藏的 - display:none
- 並且在顯示元素之前你記錄了它原來的CSS聲明位置,你將得到在CSS樣式中聲明的%age值。可能在你的情況下工作?
乾杯!
嘗試.attr(「樣式」) –
@CécileBoucheron:在通過jQuery爲元素設置動畫之前,您必須記錄每個元素的原始CSS值;我通過使用數據屬性記錄了值,但有很多方法可以解決這個問題。或者,如果可以,通過'element.attr(「style」,「...」)設置值來設置動畫效果,因爲內聯樣式優先於類定義。然後,您可以訪問原始CSS值並使用該值通過設置樣式'element.attr(「style」,「...」)來重新初始化位置' – emgee
謝謝。我所有的樣式都在我的樣式表中,所以'attr('style')'不是解決方案:/ –