我正在尝试将 CSS 过渡应用于元素,但在它完成之前的某个时刻,完全删除过渡并开始另一个过渡。
这个问题回答了如何在其轨道上停止过渡,但我修改了那里的 jsFiddle 来说明这个问题:
var $div = $('div');
$div.click(function(){
$div.css({
left: 0,
transition: 'none'
});
$div.transit({
top: 600,
},5000);
});
function complete(){
$div.css('backgroundColor', 'blue');
}
$div.transit({left: 600}, 5000, 'linear', complete);
我想要发生的是让框重置其位置并在单击时向下移动,并且在第一次转换时完成的处理程序不会触发。
实际发生的情况是该框在单击时重置其位置,但在第一个转换完成之前不会向下移动(即使第一个转换的运动不再发生)。完成的处理程序仍然会在第一次转换时触发。