在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ 為什么ele.style.top放在setTimeout里,才會有動畫效果?

為什么ele.style.top放在setTimeout里,才會有動畫效果?

style部分

.aa{position:absolute;transition:top 2s;}

html部分

<div id="ele" class="aa">動畫文字</div>

js部分

var ele=document.getElementById('ele')
ele.onclick=function(){
    ele.style.top=0
//ele.style.top=100+'px'如果這一行不放在setTimeout里,就不會出現(xiàn)top從0到100的動畫
setTimeout(function(){
    ele.style.top=100+'px'
},0)
}

在線預(yù)覽地址
http://jsbin.com/pucedelowa/e...

現(xiàn)在就有一個疑惑,為什么只有把ele.style.top=100+'px'放在seTimeout里,點擊文字后才會有transition的動畫效果呢?
另外有沒有其他函數(shù),可以達(dá)到和setTimeout一樣的效果呢?

回答
編輯回答
喜歡你
ele.style.top=0
ele.style.top=100+'px'

因為同步方法執(zhí)行完成前,是不會渲染的,最終就是100px,異步方法才可以達(dá)到這個效果。

2017年1月5日 23:02