我有非常基本的基于承诺的自我调用功能:
transform: translate
)它们
使用classList.add()
/ classList.remove()
transitionend
- 自称这是功能:
function transitionTest(){
console.log('called --- transitionTest() ');
var dummies = document.getElementsByClassName('dummy'),
count = dummies.length;
if(window.cache==='right'){
var transitionCollection=0;
for(var i = 0; i < dummies.length; i++){
dummies[i].classList.remove('right');
dummies[i].addEventListener('transitionend', function(){
transitionCollection++;
if( transitionCollection === dummies.length ){
transitionTest();
}
});
}
window.cache='';
} else {
var transitionCollection=0;
for(var i = 0; i < dummies.length; i++){
dummies[i].classList.add('right');
dummies[i].addEventListener('transitionend', function(){
transitionCollection++;
if( transitionCollection === dummies.length ){
transitionTest();
}
});
}
window.cache='right';
}
,此处为working fiddle
focus
事件(例如,如果你静止不动)出了什么问题:
虚拟div
,在mouseenter
,mouseleave
,click
上无限左右移动,有时,有时不会(确切条件不明确)将:< / p>
这些错误发生在Chrome 45(Win 7)和Chrome 42(Win XP)中 - 这是我现在能够测试的平台。需要注意的是,上层代码不需要跨浏览器,我完全了解其含义。