我正在尝试将 DOM 中的这段代码从 jQuery 转换为标准 JS:
$(document).ready(function(){
$('#main').addClass('slide-out').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){
$('#gut').addClass('overflow-hidden');
});
});
我已经这样做了:
var main = document.getElementById('main');
var gut = document.getElementById('gut');
main.classList.add('slide-out');
main.addEventListener('webkitTransitionEnd',listener);
main.addEventListener('otransitionend',listener);
main.addEventListener('oTransitionEnd',listener);
main.addEventListener('msTransitionEnd',listener);
main.addEventListener('transitionend',listener);
var listener = function(){
gut.classList.add('overflow-hidden');
//also tried it, without results
main.removeEventListener('webkitTransitionEnd',listener);
main.removeEventListener('otransitionend',listener);
main.removeEventListener('oTransitionEnd',listener);
main.removeEventListener('msTransitionEnd',listener);
main.removeEventListener('transitionend',listener);
}
但是,不幸的是,似乎这些事件中没有一个不会在 JS 中触发。还有另一种方法可以做到这一点吗?我找到了其他指南,但他们再次使用这种方式来转换代码。
谢谢