2013-08-17 87 views
0

我在技术上是jQuery的新手,我试图在我的代码中尽可能多地实现以适应它。jQuery动画和时机

所以我试图让一个div向上移动页面,并在用户点击页面上的任何位置时将不透明度更改为1。

这里是我的代码:

$(document).ready(function(e) { 
    $("#body").click(function() { 
     setTimeout(function() { 
      $("#name").animate(function() { 
       bottom:"500px"; 
       opacity:"1"; 
      }, 1000); 
     }, 2000); 
    }); 
}); 

注意name是div我试图动画和body的ID就是一个id我给了HTML页面的主体,这样的动作当点击页面上的任何空白处时触发。

+2

而问题是什么? – adeneo

+0

只是谷歌“jQuery”和“计时器”,你会发现:http://api.jquery.com/delay/并像第一个答案说:不透明度从0到1,如果元素没有不透明度0设置一个css规则。你什么都看不到 – Mic

+0

我不是那种在CSS中忘记将不透明度设置为0的转储! – SaucyGuy

回答

0

我会执行animate函数,就好像它是CSS一样。您将添加分号到您的动画属性,他们应该是逗号。

$("#wrap").on('click', function() { 
    setTimeout(function(){ 
     $("#name").animate({ 
      bottom:"500px", 
      opacity:"1" 
     }, 1000); 
    }, 2000); 
}); 

这里是我的FIDDLE

+0

谢谢,你的回答帮了我最大的忙。但是,事实证明,错误来自HTML(错误的ID使用)。 – SaucyGuy

+0

与我假设的#body有关。卫生署!无论如何,如果你发现我的帮助,你可以至少upvote这个答案或标记为正确的:)干杯。 –

0

如果您试图使不透明度从0变为1,则必须在css中将其初始设置为0。当它已经是1时将它动画到1将不会做任何事情!

+0

是的,它已经设置为0在CSS – SaucyGuy

1

对象的属性应该用逗号分隔,而不是分号。另外,animate需要一个对象,而不是一个函数。试试这个:

$("#name").animate({ 
    bottom: "500px", 
    opacity: "1" 
}, 1000); 
+0

感谢您的提醒!完全忘了:p – SaucyGuy