> 웹 프론트엔드 > HTML 튜토리얼 > css动画结束后 js无法修改translated值 ._html/css_WEB-ITnose

css动画结束后 js无法修改translated值 ._html/css_WEB-ITnose

WBOY
풀어 주다: 2016-06-24 11:38:06
원래의
1326명이 탐색했습니다.

由于项目的需要,俺要做一些页面的转场动画。

即将是移动端,肯定是首先css动画了。

结果确发现,css动画中,如果设置animation-fill-mode: both;在动画结束后无法个性translate3d的值;

起初,以为是项目过于复杂,代码之前造成了相互影响,可事实并非如何。

后来,我便写了个简单demo来测试;

css:

@keyframes slideInRight {    0% {        visibility: visible;        -webkit-transform: translate3d(100%, 0, 0);        transform: translate3d(100%, 0, 0);    }    100% {        visibility: visible;        -webkit-transform: translate3d(0, 0, 0);        transform: translate3d(0, 0, 0);    }}.slideInRight {    -webkit-animation-name: slideInRight;    animation-name: slideInRight;    -webkit-animation-fill-mode: both;    animation-fill-mode: both;animation-duration: .35s;}
로그인 후 복사

在css动画结束后,js手动设置translate3d()竟然无效,真是很头疼,即便是在谷歌浏览器也无法设置其值。

无奈,只能在动画结束后再先移除动画样式,但即使是这样,在部分浏览器中也会出现无法更改的情况

1 $('.page').on('webkitAnimationEnd', function (e) {//webkit动画结束隐藏2         $(this).removeClass('animated slideInRight').trans3d(0);3     }, false);
로그인 후 복사

真是头疼。。

 

--------------------都说海水深,怎抵相思半----------------------------

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿