2012-06-10 20 views
0

有沒有辦法返回一個CSS元素?返回一個CSS元素(用於邊界檢查)

我在使用Adobe Edge並在其代碼選項卡中添加了一些自己的代碼,但爲了創建邊界,我需要跟蹤margin-top或margin-left。下面的代碼用於移動元素「woo」,但我不知道如何調用元素來添加像「|| sym。$(」woo「).css({」margin-left「> 0px」} )向左移動代碼。

//Move RIGHT 
if (e.which == 39) { 
    sym.$("woo").css({"margin-left":"+=10px"}); 
} 
//Move UP 
else if (e.which == 38) { 
    sym.$("woo").css({"margin-top":"-=10px"}); 
} 
//Move Left 
else if (e.which == 37) { 
    sym.$("woo").css({"margin-left":"-=10px"}); 
} 
//Move DOWN 
else if (e.which == 40) { 
    sym.$("woo").css({"margin-top":"+=10px"}); 
} 

編輯:

我改變了左if語句如下:

else if (e.which == 37 && ($("woo").css("margin-left")>0)) { 

這似乎是工作在一定程度上,除了現在不會動的離開了!我也試着做< 0以防萬一我搞砸了一個標誌,但它不會讓我移動元件。

答:

那麼事實證明,返回值的語法比我想象的有點不同。要返回左邊距而不是像我以前那樣使用短劃線,我必須按照以下方式進行操作。

sym.$("woo").css('marginLeft') 

然後到實際使它成爲一個int並比較它我用這個。

if(parseInt(sym.$("woo").css('marginTop'))>0) 

回答

0

那麼事實證明,返回值的語法比我想象的有點不同。要返回左邊距而不是像我以前那樣使用短劃線,我必須按照以下方式進行操作。

sym.$("woo").css('marginLeft') 

然後到實際使它成爲一個int並比較它我用這個。

if(parseInt(sym.$("woo").css('marginTop'))>0) 
1

您可以通過調用.css() method得到一個CSS屬性的值:

$(...).css('margin-left') 
+0

我更新的問題,你的答案幫助一個很好的程度,雖然 –

+0

您需要parseInt函數值從'的.css()'因爲它返回一個字符串。 (parseInt($(「woo」).css(「margin-left」))' – N1ck

+0

parseInt返回的是什麼?因爲如果margin-left返回一個字符串,那麼這個字符串是否包含px標籤? –