2012-10-09 88 views
1

我想从页面底部仅使用javascript(无JQUERY)使div浮起来。Javascript动画底部

我这里有一个小提琴:http://jsfiddle.net/H7GSF/

这一次向上移动,但不会重复,以创建一个“动画”。

HTML

<div id="block"></div>​ 

CSS

#block { position: fixed; background: red; width: 100px; height: 20px; bottom: 0; }​ 

JS

b = 0; 
el = document.getElementById('block'); 
setInterval(function(){ 
    b+=10; 
    el.setAttribute('style','bottom:'+(b)+'px;'); 
},20);​ 
+0

始终把相关代码的jsfiddle连结。 – Jashwant

+0

@Shmiddty - 让我为你修改一下:“看起来你已经忘记了'+ =',所以它不会增加反作用力”,但作为一个家伙也很酷。 – Fluidbyte

回答

2

因为你没有更新的bottom值。它总是10

试试这个,

b = 0; 
el = document.getElementById('block'); 
setInterval(function(){ 
    b+=10; 
    el.setAttribute('style','bottom:'+(b)+'px;'); 
},20);​ 
+0

你也可以设置最下面的属性el.style.bottom = b +'px'; –

0

http://jsfiddle.net/H7GSF/1/

只需使用

b = 0; 
el = document.getElementById('block'); 
setInterval(function(){ 
    b+=10; 
    el.setAttribute('style','bottom:'+b+'px;'); 
},20); 

的问题是,b是不变的!

而且,我认为其更好地修改使用style属性,而不是style属性的风格(这是短):

el.style.bottom=b+'px;' 

而且要注意,如果您使用style属性,删除以前的款式加入到元素使用attributte和属性style