<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
<script>
$(function(){
$("#di").click(function(){
$(this).animate({ left:'250px'})
})
});
</script>
<style>
height:100px;
background:#F00;}
</style>
</head>
<body>
<p id="di"></p>
</body>
</html>
需要设置
potision:absolute
或者position:relative
使用
animate
实现动画前,你要确保你需要改变的值是有效的,也就是说,就是在不使用animate
的情况下,直接将此属性设置成css
,其效果是可以被展示的。对于你的例子,你可以直接把这个
di
的css
中加入left:250px
,你会发现本身p
就没有被移动,所以即使你使用了animate
动画,也是没有效果的。其原因是你的p
的position
不是relative
或者absolute
的,也就不支持left
属性。你代码里有如下几个问题:
不动是因为你没有为 #di 的css设置 position:absolute 或者 relative
完整的应该如下:
最后建议把问题重新排版一下,格式太乱。
希望有所帮助~ :)
设置potision:absolute;或者position:relative;才可以。
因为不设置的话TRBL不会生效。
发现类似问题,你可以先在你的代码里手动完成事件后的属性填值以发现问题。比如现在css里添加left属性看看是否会生效,你就会发现问题了。
也是醉了,代码好几处报错,细节很重要