В приведенном ниже примере я делаю переход background-color
с использованием CSS и пытаюсь обрабатывать событие transitionend
для обоих div.переход не запускается, когда начальное состояние и конечное состояние одинаковы
К сожалению, transitionend
не уволили за div2
как начальные и конечные цвета фона одинаковы:
var div1 = $('#div1');
var div2 = $('#div2');
$('#toggle').on('click', function() {
div1.toggleClass('toggled');
div2.toggleClass('toggled');
})
div1.on('transitionend', function() {
console.log('div1 transitionend')
})
div2.on('transitionend', function() {
console.log('div2 transitionend')
})
div {
width: 100px;
height: 100px;
transition: background-color .5s;
}
#div1 {
background-color: red;
}
#div2 {
background-color: green;
}
.toggled {
background-color: green !important;
}
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<div id="div1"></div>
<div id="div2"></div>
<button id="toggle">Toggle animation</button>
Как я могу achive обработки transitionend
даже в тех случаях, когда начальное состояние и конечное состояние одинаковы?
Если я не ошибаюсь, переход запускается только тогда, когда значения разные. Итак, если переход сам по себе не происходит, я не думаю, что есть вероятность, что это событие начнется. – Harry
Любые ссылки на спецификации? Я не могу найти что-либо, связанное с моим вопросом. –
Нет, тем больше я ожидаю, что браузеры будут работать. Начало переходного события, когда переход к переходу не является переполнением. Я не думаю, что спецификации определяли бы что-либо для *, когда начинать переход *, они бы оставили его для реализации, но я проверю его для вас :) – Harry