gpt4 book ai didi

javascript - 通过 javascript 触发 CSS 动画

转载 作者:太空宇宙 更新时间:2023-11-03 21:59:02 25 4
gpt4 key购买 nike

我想通过 CSS 动画触发 javascript,反之亦然(Javascript 触发 CSS)。

最终目标是让 CSS 动画闪烁,并让它们触发通过 Web Audio API 导入的音频文件。

现在我只对让 CSS 动画和 Javascript 相互对话感兴趣。

所以..

我正在 Webkit 浏览器中进行排他性试验。下面是一个堆栈溢出线程,它似乎回答了我问题的第一部分: How do I re-trigger a WebKit CSS animation via JavaScript?

但我无法让它工作。

我在下面添加了我抓取/修改的代码

<!--SETUP-->
<!DOCTYPE html>
<meta charset="UTF-8">
<title>test</title>
<link rel="stylesheet" href="test.css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" charset="utf-8"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/jquery-ui.min.js"></script>
<!--END setup-->



<script src="test.js"></script>
<div id="box"> shake </div>
<div id="button"> Button </div>

CSS

#button {
width:100px;
height:100px;
background:blue;
position:absolute

}

#box{
width:100px;
height:100px;
background:red;
position:absolute;
top:100px;
left:90%;
margin-left:100px;
-webkit-animation: shake 1.5s steps(1) ;
}



@-webkit-keyframes shake {
0% {
left: 0;
}
25% {
left: 12px;
}
50% {
left: 0;
}
75% {
left: -12px;
}
100% {
left:0;
}
}

Javascript

var element = document.getElementById('box');

element.addEventListener('webkitAnimationStart', function(){
this.style.webkitAnimationName = ''; // I think css animationName should go here...but not sure.
}, false);

document.getElementById('button').onclick = function(){
element.style.webkitAnimationName = 'shake';
// you'll probably want to preventDefault here.
};

最佳答案

不是更改元素的样式,而是添加一个类名和一个 CSS 声明,其中包含您要在该类中使用的 CSS 转换。

关于javascript - 通过 javascript 触发 CSS 动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11853824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com