2013-11-14 55 views
0

嘿我有一個div,我預先考慮到我的HTML文檔的正文後,我插入它我想運行一個動畫功能,但由於某種原因,動畫不會觸發。jquery prepend then animate div

現在我一起串聯起來,就像這樣:

 $(".role-1").prependTo("body").animate({ 
      position:fixed, 
      top:0 
     },{ 
      duration:300, 
      queue:false 
     }); 

的前置工作正常,動畫只是從來沒有跑,我不知道爲什麼,有什麼想法?由於

+0

你應該張貼演示。有太多其他因素可以發揮作用。 –

回答

1

您可以將位置改變到固定的.css這樣

$(".role-1").prependTo("body").css({position:"fixed"}).animate({ 
     top:0 
     },{ 
     duration:300, 
     queue:false 
});  

CSS

.role-1{ 
    top:500px; //if it is 0px it will not animate 
} 

http://jsfiddle.net/pNBQk/

+0

爲什麼這個工作,只是它的動畫不是? – loriensleafs

+0

它可以使用動畫,但你需要在CSS中設置一個默認位置,像這樣[http://jsfiddle.net/pNBQk/1/](http://jsfiddle.net/pNBQk/1/),但我使用.css將默認位置設置爲固定在答案中 –

1

I think this is what you were trying to do.

JS:

$('<div>').prependTo("body").animate({ 
    top: '40px' 
}, 300); 

CSS:

div { 
    height: 100px; 
    width: 100px; 
    background: blue; 
    position: relative; 
} 

這,到這裏,將工作,但沒有任何動畫,因爲創建的我沒有高度或寬度並已經定位在身體的頂部。

$("<div></div>").prependTo("body").animate({ 
    position:'fixed', 
    top:0 
},{ 
    duration:300, 
    queue:false 
});