遇到jQuery animate问题()

时间:2011-09-11 04:13:28

标签: javascript jquery jquery-animate

这是我的HTML文档。我正在尝试使用jQuery animate()将我的一个标题工作到另一个位置,并且由于某种原因我无法解决它。 fadeOutfadeIn工作,所以我知道我的JavaScript href正在运行。此外,它与未声明文档类型无关。

 <html>
 <head>
 <title>We Hate Treyarch - Let your opinions mean something </title>
 <link rel="stylesheet" type="text/css" href="style.css" />
 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript">
 $(function(){
 $(window).load(function(){
 $("#underhead").animate
 ({top:600px;left:600px;},2000);
 $("#underhead").animate
 ({top:170px;left:165px;},5000);
 });
 });
 </script>
 </head>

<body>

<div id="tophead"></div>
<div id="sechead"> </div>

<div id="header">
 <h1 id="hye">We <span class="kame"><b>hate</b></span> treyarch</h1>
 </div>
 <div id="underhead">and so do you...</div>
 </body>
 </html>

2 个答案:

答案 0 :(得分:4)

javascript对象未定义如下:

{top:600px;left:600px;}

就是这样:

{top:"600px", left:"600px"}

这必须是javascript语法,而不是CSS语法。

这应该在javascript错误控制台或控制台窗口中为您描述,无论您使用什么js调试器,因为它是一个javascript语法错误。

此外,没有理由同时使用两者:

$(function(){

里面有这个:

$(window).load(function(){

使用其中一个。我建议只使用jQuery版本,除非你必须等待图像完成加载,在这种情况下只使用window.load版本。

此代码有效:

 $(function(){
     $("#underhead").animate({top: "600px", left: "600px"}, 2000);
     $("#underhead").animate({top: "170px", left: "165px"}, 5000);
 });

你可以在这里看到它:http://jsfiddle.net/jfriend00/V23rW/

答案 1 :(得分:1)

这是正确的动画语法,你的错误。

$('#id').click(function() {
  $('.class').animate({
    opacity: 0.25,
  }, 5000, function() {
  });
});