#javascript #css
#javascript #css
Вопрос:
Я использую переходы CSS3, и мне интересно, запускается ли анимация с:
-webkit-transform: translate3d(-100%, 0, 0);
Могу ли я каким-то образом увеличить скорость, которая была предварительно установлена с помощью:
-webkit-transition: all 10s linear;
Я хочу, чтобы скорость составляла 2 секунды при использовании jQuery.
Ответ №1:
Похоже, вы можете с this.style["-webkit-transition"]
HTML
<div class="one"></div>
CSS
.one
{
-webkit-transition: all 10s linear;
width:200px;
height:20px;
background:green;
}
.two
{
-webkit-transform: translate3d(100%, 0, 0);
}
jQuery
$("div").click(function(){
$(this).toggleClass("two");
this.style["-webkit-transition"] = "all 2s linear"
});
Редактировать
или
this.style["-webkit-transition-duration"] = "2s";
Комментарии:
1. @UmairAshraf привет… Я придумал способ сделать это… но я не знаю, почему это работает, и мне бы очень хотелось, чтобы кто-нибудь это объяснил: ( jsfiddle.net/s2mLm/1
2. отлично. я тоже этого не понимаю
3. возможно, при удалении применяется другой переход, а при добавлении снова применяется весь css, за исключением свойства transition.
4. @UmairAshraf Я только что обсуждал это в чате с некоторыми другими разработчиками javascript, и, похоже, это, вероятно, потому, что setTimeout дает задержку минимум в 4 мс. Также кажется, что минимум webkit равен 10 мс. Следовательно, это дает ему достаточно времени для внесения изменений …… в теории