牛客JS题(二十八)控制动画

[复制链接]
发表于 2026-2-10 14:06:21 | 显示全部楼层 |阅读模式
表明很详细,直接上代码
    涉及知识点:
  

  • css动态效果
  • 条件判断
  • 范例判断
  题干:

   我的答案
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <meta charset="utf-8" />
  5.     <style type="text/css">
  6.       #rect {
  7.         width: 100px;
  8.         height: 100px;
  9.         box-sizing: border-box;
  10.         border: 3px solid transparent;
  11.         border-top-color: #fc2f70;
  12.         border-bottom-color: #fc2f70;
  13.         border-radius: 50%;
  14.         /*补全代码*/
  15.         animation: rect 10s ease infinite;
  16.       }
  17.       @keyframes rect {
  18.         50% {
  19.           transform: rotate(360deg) scale(0.4, 0.33);
  20.           border-width: 8px;
  21.         }
  22.         100% {
  23.           transform: rotate(720deg) scale(1, 1);
  24.           border-width: 3px;
  25.         }
  26.       }
  27.     </style>
  28.   </head>
  29.   <body>
  30.     <!-- 补全代码 -->
  31.     <div id="rect">
  32.       <div class="leaf leaf1"></div>
  33.       <div class="leaf leaf2"></div>
  34.       <div class="leaf leaf3"></div>
  35.     </div>
  36.     <input id="range" />
  37.     <script type="text/javascript">
  38.       /**
  39.        * 小友肯定疑惑滑块呢,这题目提供的模板本身就是输入框
  40.        * 原本就个黑框框转圈!?为了美观点我稍微改了点样式
  41.        * 这题主要是前提判断的问题
  42.        * 首先是考虑输入的是不是数字,如果是则转为整数赋值(滑动间隔为1,没小数),否则赋值1
  43.        * 再考虑其取值范围写俩判断,欧了
  44.        *
  45.        * 好像改太多过不了牛客判题了,本地跑是对的
  46.        * 不管了,反正咱学到了,小破判题系统爱过不过φ(* ̄0 ̄)
  47.        */
  48.       // 补全代码
  49.       let rect = document.getElementById("rect");
  50.       let range = document.getElementById("range");
  51.       range.onchange = function () {
  52.         let value = this.value;
  53.         Number(value) ? (value = parseInt(value)) : (value = 1);
  54.         value < 1 || value > 10
  55.           ? value < 1
  56.             ? (value = 1)
  57.             : (value = 10)
  58.           : "眨眼睛";
  59.         rect.style.animationDuration = 11 - value + "s";
  60.       };
  61.       //牛客的测例,咱跑出来是对的,也不知道是不支持咱用的哪个函数,不管了!
  62.       function aaa() {
  63.         document.querySelector("#range").value = 10;
  64.         document.querySelector("#range").onchange();
  65.         return document.querySelector("#rect").style.animationDuration === "1s";
  66.       }
  67.       console.log(aaa());
  68.     </script>
  69.   </body>
  70. </html>
复制代码
  博客更新不是很及时,须要看反面内容的可以看看我的gitee堆栈
  牛客JS题Gitee堆栈

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表