javascript - 请教大牛,我的JQ动画为什么没有效果?
伊谢尔伦
伊谢尔伦 2017-04-10 17:29:57
[JavaScript讨论组]

<!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>

di{ width:100px;

 height:100px;
 background:#F00;}

</style>
</head>
<body>
<p id="di"></p>
</body>
</html>

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(5)
ringa_lee

需要设置potision:absolute或者position:relative

天蓬老师

使用animate实现动画前,你要确保你需要改变的值是有效的,也就是说,就是在不使用animate的情况下,直接将此属性设置成css,其效果是可以被展示的。

对于你的例子,你可以直接把这个dicss中加入left:250px,你会发现本身p就没有被移动,所以即使你使用了animate动画,也是没有效果的。其原因是你的pposition不是relative或者absolute的,也就不支持left属性。

怪我咯

你代码里有如下几个问题:
不动是因为你没有为 #di 的css设置 position:absolute 或者 relative

完整的应该如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<script type="text/javascript" src="jquery-1.11.3.min.js"></script>
    $(function() {
      $("#di").click(function() {
        $(this).animate({
          left: '250px'
        });
      });
    });
</script>
<style>
#di {
  position: absolute;
  width:100px;
  height:100px;
  background:#F00;
}
</style>
</head> 
<body>
<p id="di"></p>
</body>
</html>

最后建议把问题重新排版一下,格式太乱。

希望有所帮助~ :)

巴扎黑

设置potision:absolute;或者position:relative;才可以。
因为不设置的话TRBL不会生效。
发现类似问题,你可以先在你的代码里手动完成事件后的属性填值以发现问题。比如现在css里添加left属性看看是否会生效,你就会发现问题了。

高洛峰

也是醉了,代码好几处报错,细节很重要

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号