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

鍍金池/ 問答/HTML/ js如何觸發(fā)transition動畫?

js如何觸發(fā)transition動畫?

css部分
*{margin:0;padding:0;}
.box{position:relative;transition:top 2s linear;height:200px;background-color:#38f;color:#fff;}

html部分
<div id="box" class="box">Hello World</div>
<div id="kick">點(diǎn)我</div>


js部分
var oBox=document.getElementById('box')
oBox.style.top=-1*oBox.offsetHeight+'px'
oBox.style.top=0
//setTimeout(function(){
//    oBox.style.top=0
//},0)

在線代碼預(yù)覽http://jsbin.com/fabarojudu/e...
我的問題是,頁面載入時,先給box元素一個oBox.style.top=-1*oBox.offsetHeight+'px'
然后立即歸零oBox.style.top=0
這樣依靠css的transition:top 2s linear;理論上可以制造一個自上到下的滑動效果.
可實(shí)際情況是,只有給oBox.style.top=0加一層setTimeout,才能觸發(fā)動畫.
那么除了setTimeout,還有其他什么方法可以觸發(fā)動畫嗎?謝謝

回答
編輯回答
編輯回答
心悲涼

css里面必須給個top的初始值。比如:top:0;

2017年11月8日 17:15
編輯回答
哎呦喂

你看看css3中的@keyframes吧

2018年7月3日 09:57
編輯回答
萢萢糖

可以用add/remove class這種形式觸發(fā)某個class上綁定的動畫

2018年7月10日 02:28
編輯回答
厭遇

給屏幕或者頁面定寬高,監(jiān)聽 dom是否被建立,
建立則動畫開啟

2017年9月4日 18:16