WinJS enterPage анимация не работает должным образом

Я хотел добавить анимацию в свое приложение при вводе страницы, и подключил по умолчанию WinJS.UI.Animation.enterPage(element)и это работало нормально, скользя в элементе справа налево. Мне нужно сдвинуть его снизу (100 пикселей) вверх. После того, как я переопределил значения по умолчанию с WinJS.UI.Animation.enterPage(element, { top: "100px", left: "0px" }) Я не видел никакой анимации на моем экране, что странно. Однако в сочетании с WinJS.UI.Animation.exitPage(oldElement)анимация, казалось, работала, но я хотел еще больше откорректировать время.

Следование по https://msdn.microsoft.com/en-us/library/windows/apps/Dn127042(v=win.10).aspx не помогло. После использования примера из "Объединения пользовательских анимаций и переходов" в ссылке я мог видеть только изменение непрозрачности и исчезновение элемента, однако никакого перевода вообще не было. Я пробовал такое же соединение с WinJS.UI.Animation.exitPage()и добавив свой собственный customExitPage - в основном из WinJS и с непрозрачностью... и ничего не работает. Я также имел в виду некоторые реализации анимации - https://github.com/winjs/winjs/blob/ad8691b3d5227ff1576a5d2a90a42f022498d2a9/src/js/WinJS/Animations.js, чтобы получить контроль над временем.

Кто-нибудь еще с этим вопросом? или я что-то не так делаю... или WinJS ведет себя плохо?

РЕДАКТИРОВАТЬ: достаточно странно анимация "наверх" с enterPage(element, {top: "100px", left: "0px"}) начал работать. Однако пользовательская анимация все еще остается неуловимой.

1 ответ

Ну, я смог наконец понять "странное поведение". @Keyframes должен был быть установлен в CSS, и я пробовал несколько других вещей, и, по-видимому, именно поэтому он не работал.

Тем не менее, я бы, вероятно, сказал, что объяснение могло бы быть немного более ясным и на сайте.

когда мы уже предоставляем значения from - to в javascript, я бы иначе предоставил то же самое в качестве части CSS, что все еще странно.

Как упомянуто на сайте, добавьте это в css: @keyframes custom-translate-in { from { transform: translateY(50px); } to { transform: none; } }

и есть это в JS: function runCustomShowStoryboard() { return WinJS.UI.executeAnimation( target, { keyframe: "custom-translate-in", property: "transform", delay: 0, duration: 367, timing: "cubic-bezier(0.1, 0.9, 0.2, 1)", from: "translate(50px)", to: "none" }); }

Никогда не мог понять, почему и как начала работать анимация "снизу вверх" (вероятно, помог перезапуск Visual Studio)

Другие вопросы по тегам