在前端使用js开发中,可以使用keyframes实现简单的动画效果;
本文中代码实现的效果如下,当打开html页面后,点击div设置的颜色块,启动动画,颜色渐变到目标颜色,当动画执行中,点击颜色块,则停止动画,并且恢复最开始状态;
通过点击事件,修改div的id名实现的效果
style代码如下
<style> #r1{ animation: move ease 2s infinite alternate } @keyframes move { 0%{transform: scale(1);} 100%{ width: 500PX; background-color: blue; } } </style>
复制
script代码如下
<script> test_keyframes=function(){ element_id=document.getElementsByTagName('div'); if (element_id[0].id==='') { element_id[0].id='r1'; } else{ element_id[0].id=''; } } </script>
复制
整个html代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>keyframes动画</title> </head> <style> #r1{ animation: move ease 2s infinite alternate } @keyframes move { 0%{transform: scale(1);} 100%{ width: 500PX; background-color: blue; } } </style> <body> <div id="" onclick="test_keyframes()" style="height: 50px;width: 100px;background-color: rgb(255, 0, 149);"> </div> <script> test_keyframes=function(){ element_id=document.getElementsByTagName('div'); if (element_id[0].id==='') { element_id[0].id='r1'; } else{ element_id[0].id=''; } } </script> </body> </html>
复制
修改animation: move ease 2s infinite alternate 中的2s为10s则动画市场为10秒;