2010-06-30 50 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和屏幕中的最高值。