我正在寫一個簡單的函數來使用css3和JavaScript的一個常量效果,但我不明白它的工作正常。 addEventListener()不符合transitionend參數。這是我的代碼。問題addEventListener(「transitionend」,函數,真)
首先我調用函數:
$('.tipsVi2, .tipsVi').mouseenter(function(){
var e=$(this).attr('id');
animacion(e);
});
的功能是:
function animacion(e) {
var el = updateTransition(e);
el.addEventListener("transitionend", updateTransition(e), true);
}
終於updateTransition()函數:
function updateTransition(e) {
var el = document.querySelector('#'+e);
if (el.className=='tipsVi') {
console.log('tipsVi2');
el.className = "tipsVi2";
} else {
console.log('tipsVi');
el = document.querySelector('div.tipsVi2');
el.className = "tipsVi";
}
return el;
}
你可以看到我加d console.log看看發生了什麼,控制檯幾乎立即給我「tipsVi2」,然後「tipsVi」,所以動畫沒有完成。
CSS代碼是這樣的:
.tipsVi{
position:absolute;
display:none;
z-index:3000;
cursor:default;
-moz-transition-property:margin;
-moz-transition-duration: 500ms;
-webkit-transition-property: margin;
-webkit-transition-duration: 500ms;
-o-transition-property: margin;
-o-transition-duration: 500ms;
margin:0;}
.tipsVi2 {
position:absolute;
display:none;
z-index:3000;
cursor:default;
-moz-transition-property:margin;
-moz-transition-duration: 500ms;
-webkit-transition-property: margin;
-webkit-transition-duration: 500ms;
-o-transition-property: margin;
-o-transition-duration: 500ms;
margin:-5px 0 0 0; }
你能告訴我更多關於你想要做什麼嗎?似乎你想要懸停的彈跳效果,但目前還不清楚。 – Duopixel
是的,我試圖做一個反彈效果,顯示一些隱藏的div與幫助信息,我試圖讓它看起來像是浮在內容之上。爲了使它循環,我在這裏看到https://developer.mozilla.org/en/css/css_transitions 使用addEventListener我可以但它不工作,控制檯告訴我,它不等待過渡到結束,所以我用css關鍵幀代替:) – victorhqc