2013-01-16 35 views
4

我有一個循環,每次迭代將邊距減少182px。我想獲得margin-top的值,所以我可以告訴它什麼時候停止運行,但是當我嘗試在控制檯中運行它時,它會返回「undefined」。請告知如何更改此值以獲取真實值。jQuery獲得計算的CSS值

這裏是我使用的是什麼,我使用ATTR(),因爲它需要得到的值是一個內聯樣式:

$marginTop = $('.emp-wrap').attr("style"); 

代碼的其餘部分是低於

// if statements to move carousel up 
$carouselNum = $('.carousella').length; 

$marginTop = $('.emp-wrap').attr("style"); 

if($carouselNum > 1){ 
//  // function empMove, the '-=' allows the -margin-top to run every time. Without this it will set the margin-top to the same value every loop 
    function empMove() { $('.emp-wrap').css('margin-top', '-=182')}; 

    setInterval(empMove, 20000); 
} 
else if($carousel < 1){ 
    // do something 
} 
else{ 
    // do something 
} 
+1

嗨,所有我想的CSS( 「邊距」);方法,並且這會返回一個值,但它是「0px」的原始值。我後面的值是內聯樣式,因此我嘗試使用attr。 –

+0

你想在哪裏使用marginTop?你可能已經檢索marginTop之前它已經增加。? – dunli

+0

@dunli我想在循環運行時使用它。我認爲你可能已經找到了答案,下面的人似乎有正確的答案,但變量名在增量之前返回值。你有一個方法在增量時運行它嗎?謝謝:) –

回答

5

試試這個:

$marginTop = $('.emp-wrap').css("margin-top"); 
+0

嗨,當我嘗試它返回「0px」不是遞增的值。然而,當我嘗試$ marginTop = $('。emp-wrap')。css('margin-top','');它返回[

​…​
]所以它顯示增加的值,但我如何只訪問該值?謝謝 –

+0

是的請看我上面的評論。乾杯 –

+0

$ marginTop = $('。emp-wrap')。css(「margin-top」);返回「0px」 –

1
$marginTop = $('.emp-wrap').css("margin-top"); 
+0

嗨,那隻返回原始值「0px」而不是遞增值,有什麼想法?謝謝 –

0

我們E以下

$('.emp-wrap').css("margin-top"); 

此外,您可以使用parseInt函數來獲取整數值僅

parseInt($(".testclass").css("margin-top")); 

參見:http://jsfiddle.net/kEVq7/

+0

謝謝我看到它在你的小提琴上工作,但是當我使用css()時,它只返回原始值,而不是遞增值。 –