Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在页面加载时禁用CSS动画,但每隔一段时间工作一次_Javascript_Css_Animation - Fatal编程技术网

Javascript 在页面加载时禁用CSS动画,但每隔一段时间工作一次

Javascript 在页面加载时禁用CSS动画,但每隔一段时间工作一次,javascript,css,animation,Javascript,Css,Animation,如何使CSS动画不在页面加载时播放,而是在页面第一次加载时每隔一次播放一次?我有以下资料: .anim{ animation: animate 0.6s } @keyframes animate{ from{transform: rotate(180deg)} to{transform: rotate(0deg)} } 因此,第一次加载页面时,.anim容器会旋转,但我打算稍后使用onclick事件触发旋转。默认情况下应用anim类,调用onclick事件后,将删除

如何使CSS动画不在页面加载时播放,而是在页面第一次加载时每隔一次播放一次?我有以下资料:

.anim{
    animation:  animate 0.6s
}

@keyframes animate{
    from{transform: rotate(180deg)}
    to{transform: rotate(0deg)}
}

因此,第一次加载页面时,
.anim
容器会旋转,但我打算稍后使用
onclick
事件触发旋转。默认情况下应用
anim
类,调用
onclick
事件后,将删除
anim
类,并将另一个具有自己动画的类应用于元素。上面的动画是作为从
anim
类到另一类的过渡来播放的。如何使其仅在转换时播放,而不是在页面完成加载时播放?是否有一种方法可以在页面加载后使用JavaScript应用
anim
类,但阻止播放动画?

修改代码,使其在
onclick
事件发生时将类
.anim
赋予容器。然后将
animationend
侦听器添加到容器中,该侦听器将在动画结束时添加所需的类。

修改代码,使其在
onclick
事件发生时将类
.anim
赋予容器。然后将
animationend
侦听器添加到容器中,以便在动画结束时添加所需的类。

要动态启动动画,应添加应用所述动画的类。您还可以利用在动画元素上触发的“animationend”、“animationstart”和“animationiteration”事件。在您的特定情况下,您希望在添加另一个类之前播放动画,您可能只希望有一个类执行您想要的操作,然后添加该类。但是如果你想使用两个类,你可以这样做

function addFirstClass(e){
  var tar= e.target;
  tar.addEventListener('animationend', addSecondClass);
  tar.classList.add('className');
}

function addSecondClass(e) {
  var tar= e.target;
  tar.removeEventListener('animationend', addSecondClass);
  tar.classList.remove('className');
  tar.classList.add('newClass');
}

要动态启动动画,应添加应用所述动画的类。您还可以利用在动画元素上触发的“animationend”、“animationstart”和“animationiteration”事件。在您的特定情况下,您希望在添加另一个类之前播放动画,您可能只希望有一个类执行您想要的操作,然后添加该类。但是如果你想使用两个类,你可以这样做

function addFirstClass(e){
  var tar= e.target;
  tar.addEventListener('animationend', addSecondClass);
  tar.classList.add('className');
}

function addSecondClass(e) {
  var tar= e.target;
  tar.removeEventListener('animationend', addSecondClass);
  tar.classList.remove('className');
  tar.classList.add('newClass');
}

一些代码作为示例将有助于不太了解javascript@Saba我需要一些代码来修改它,OP没有提供任何代码。
.anim
类包含其他样式规则,因此我不能等待
onclick
事件应用样式。@TroubleZero然后将.anim类拆分为2个类。一个是加载时希望出现的css规则,另一个是单击时希望出现的css规则:)一些代码作为示例将有助于不太感兴趣的人javascript@Saba我需要一些代码来修改它,OP没有提供任何代码。
.anim
类包含其他样式规则,因此,我迫不及待地等待一个
onclick
事件来应用样式。@TroubleZero然后将.anim类拆分为2个类。一个是加载时希望出现的css规则,另一个是单击时希望出现的css规则:)