A藤井树 2024-06-02 17:45 采纳率: 0%
浏览 3

css focus点击怎么重复进行?

点击切换 上面的框就旋转180°

img


但是只能切换一次 第二次按就没用了 怎么能让他按一次旋转一次呢 用keyframes动画或者transition

img


求解答!

  • 写回答

3条回答 默认 最新

  • 关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    **解决这个问题的关键在于让animation-play-state属性可以动态切换,以实现连续的点击效果。**以下是可能的解决方案:

    1. 使用JavaScript控制动画状态:
      • 在HTML中添加一个按钮或者<input type="button">,作为触发连续旋转的按钮。
      • 使用JavaScript监听这个按钮的点击事件,每次点击时改变animation-play-state的状态。
    <button id="toggleButton">点击切换</button>
    <input type="checkbox" id="checkbox" class="bigk" />
    
    <script>
    document.getElementById("toggleButton").addEventListener("click", function() {
      const checkbox = document.getElementById("checkbox");
      if (checkbox.classList.contains("paused")) {
        checkbox.style.animationPlayState = "running";
      } else {
        checkbox.style.animationPlayState = "paused";
      }
    });
    </script>
    
    1. CSS中使用:hover伪类结合JavaScript:
      • 如果你的目标是鼠标悬停时切换,可以使用:hover伪类,配合JavaScript来控制动画状态。
    .bigk:hover {
      animation-play-state: running;
    }
    
    1. 利用data-*属性存储状态:
      • 可以在元素上添加data-state属性,并在JavaScript中检查它的值,来决定是否播放动画。
    <input type="checkbox" id="checkbox" data-state="paused" class="bigk" ...>
    
    <script>
    const checkbox = document.getElementById("checkbox");
    checkbox.addEventListener("click", function() {
      this.dataset.state = this.dataset.state === "paused" ? "running" : "paused";
    });
    </script>
    

    以上任一方案都可以让你的元素在每次点击时重复执行旋转动画。选择最适合你的场景的方法即可。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月2日

悬赏问题

  • ¥15 angular项目错误
  • ¥20 需要帮我远程操控一下,运行一下我的那个代码,我觉得我无能为力了
  • ¥20 有偿:在ubuntu上安装arduino以及其常用库文件。
  • ¥15 请问用arcgis处理一些数据和图形,通常里面有一个根据点划泰森多边形的命令,直接划的弊端是只能执行一个完整的边界,但是我们有时候会用到需要在有很多边界内利用点来执行划泰森多边形的命令
  • ¥30 在wave2foam中执行setWaveField时遇到了如下的浮点异常问题,请问该如何解决呢?
  • ¥750 关于一道数论方面的问题,求解答!(关键词-数学方法)
  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件