您将如何在 jQuery 中设置position:relative
没有初始属性集的元素中的属性?position
animate()
这不起作用:
$(mLinks[id]).animate
(
{
position:'relative',
left:'200px'
}
);
鉴于这mLinks
是一个有效的 DOM 元素对象。
我也尝试使用duration
andcallback
参数。
您将如何在 jQuery 中设置position:relative
没有初始属性集的元素中的属性?position
animate()
这不起作用:
$(mLinks[id]).animate
(
{
position:'relative',
left:'200px'
}
);
鉴于这mLinks
是一个有效的 DOM 元素对象。
我也尝试使用duration
andcallback
参数。
“动画”cssposition
属性是没有意义的,不是吗?relative
和absolute
或或类似的东西之间没有static
任何东西......
这就是我要做的:
$(mLinks[id]).css('position', 'relative').animate
(
{
left:'200px'
}
);
如果你阅读了相应的jQuery 文档,你会发现:
most properties that are non-numeric cannot be animated using basic jQuery functionality (For example, width, height, or left can be animated but background-color cannot be, unless the jQuery.Color() plugin is used).
该animate
方法不允许您设置 css 属性,这是有道理的,尽管要拥有出色的动画,您必须正确设置 css 属性,这是两件不同的事情。
所以首先你应该设置css属性。你应该使用css
方法:
$(mLinks[id]).css("position", "relative")
之后就可以开始动画了:
$(mLinks[id]).animate({ left:'200px' });
将所有内容结合在一起,您将拥有:
$(mLinks[id]).css("position", "relative").animate({ left:'200px' });
看看这段代码。
<html>
<head>
<title>Hello there</title>
<script type="text/javascript" src = "assets/js/jquery.min.js"></script>
</head>
<body>
<div class="tobechanged" style = "background:#ddd;position:fixed;">
hello there.
</div>
<script type="text/javascript">
$('.tobechanged').css('position','relative').animate({
opacity: 0.9,
left: '+=50'},
4000, function() {
//some stuff here.
});
</script>
</body>
</html>
现在应该可以正常工作了。