2010-06-30 49 views
2

有了:

#mydiv{ position:relative; } 

當我執行:

$('#mydiv').css('top','500'); 

不工作,我一點都收到錯誤。

基本上我需要做的是移動(不動畫)該DIV 500px了,是否有任何其他方式來做到這一點?

+0

是div集的css屬性「位置」是相對還是絕對? – HoLyVieR 2010-06-30 17:13:54

+3

你有一個美元符號「$ mydiv」而不是英鎊符號「#mydiv」是在這裏或在你的代碼中的錯字嗎? – William 2010-06-30 17:14:23

+0

你會得到什麼樣的錯誤?如果你想移動它,它應該是'-500px'。 – jigfox 2010-06-30 17:21:42

回答

0

就我所知,'$'並不代表jQuery選擇字符串中的任何內容。如果你想找到ID爲 'mydiv' 股利,使用方法:

$('#mydiv').css('top', '500'); 
+0

很抱歉更新了,這正是我在0123x這個數字很重要之後做了 – 2010-06-30 17:19:06

0

嘗試

$('#mydiv').css('top','500'); 

注意磅符號(#)的ID前面。您正在使用美元符號($)。

2

告訴它設置頂部:500px將從相對位置下移500px,而不是上升。您應該使用負數,例如-500像素。

+2

,因爲在css中有多個指標,您必須指定您要使用的指標。 – jigfox 2010-06-30 17:22:51

+0

@Jens Fahnenbruck關於多個指標的好處。 – William 2010-06-30 17:30:16

0

幾件事情 1.你有一個錯字,應該#mydiv而不是$ mydiv(在js部分) 2.檢查與螢火蟲如果正在執行的命令後,正在被改變的元素。

感謝

0

你需要有#myDiv作爲jQuery選擇:$("#myDiv")

而且,如果我沒記錯的話,你的div容器(父)需要:

position: relative; 

和你的「#myDiv」需要是:

position: absolute; 
0

你確定jQuery是工作?另外,確保它不會被加載多次。

0

檢查Jquery是否正在加載firebug。對於測試還添加一個警報,以確保
$(函數(){
警報('jquery is loading');
});

如果jquery正在加載,試試這個$('#mydiv').css({'top':'500px'});

0

在CSS中,seting位置之後:absolute;嘗試設置「top:0px;」。它可能有幫助。

2

移動它500像素起來:

首先獲得當前的位置,你想用500像素(這個人是相對父)

var topPosition = $('#mydiv').position().top; 

然後移動它

$('#mydiv').css('top',(topPosition - 500) + 'px'); 
1

而不只是500

+0

你應該試着對你的答案做更多的描述。試着幫助海報理解爲什麼? – 2013-01-13 16:34:13

1

使用jquery.css函數更新最高值,但更改ar e不反映在屏幕上。

使用$('#mydiv')。offset({top:500});它將更新DOM和屏幕中的最高值。