gpt4 book ai didi

javascript - 如何防止 transitionend 事件被运行两次

转载 作者:行者123 更新时间:2023-11-28 12:54:12 28 4
gpt4 key购买 nike

我有一个小应用程序,它使用 CSS3 添加和删除 .is-active 动画部分,我需要从中删除 .is-active元素 .resulting-page 然后在 transitionend 上将 .is-active 添加回元素,因为我需要快速更新 z-index ,但是这样做似乎会触发 transitionend 函数中的代码两次。想知道是否有人可以就如何解决此问题提出建议?

JS

$('.resulting-page').removeClass('is-active').on('transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd', function () {              
$('.search-page').removeClass('tier3-override');
$(this).addClass('is-active');
console.log('this ran');
});

JS fiddle http://jsfiddle.net/kyllle/aagTH/16/

最佳答案

您可以使用 Modernizr 获取浏览器特定的过渡结束。如果同时应用,Chrome 将在 transitionend 和 webkitTransitionEnd 上触发。

var transEndEventNames = {
'WebkitTransition': 'webkitTransitionEnd', // Saf 6, Android Browser
'MozTransition': 'transitionend', // only for FF < 15
'transition': 'transitionend' // IE10, Opera, Chrome, FF 15+, Saf 7+
},
transEndEventName = transEndEventNames[Modernizr.prefixed('transition')];

return transEndEventName;

关于javascript - 如何防止 transitionend 事件被运行两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16689774/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com