Как остановить переход CSS3
Я хочу остановить переход, который выполняется.
Я нашел несколько ссылок [1] [2], разбросанных по Интернету, но я не могу представить их вместе.
Здесь сценарий первого предложения (с jQuery и CSS Transit для контекста): http://jsfiddle.net/thomseddon/gLjuH/
Спасибо
[1] https://twitter.com/evilhackerdude/status/20466821462
[2] github.com/madrobby/zepto/issues/508
Ответы
Ответ 1
Итак, я понял: http://jsfiddle.net/thomseddon/gLjuH/3/
Трюк заключается в том, чтобы установить каждое свойство css, которое вы анимируете, к его текущему значению (возможно, к середине перехода), например: $(this).css('prop', $(this).css('prop'));
(Вероятно, захотите сохранить все свойства объекта в элементе с $(this).data( реквизит) и проведите через них).
После того, как вы явно установили свойства, вы можете запустить анимацию 0s, чтобы переопределить предыдущую анимацию и эффективно остановить элемент.
Ответ 2
Там гораздо более простое решение. Если вы хотите просто остановить переход (а не приостановить его). Просто установите css в текущий вычисленный стиль. Например, в пользовательском прокручивающем решении, где top - это свойство перехода.
element.style.top=getComputedStyle(element).top;
и что он.