Javascript css通过不同的动画旋转(循环?)

Javascript css通过不同的动画旋转(循环?),javascript,html,css,Javascript,Html,Css,我在css中发现了一个很棒的代码笔,这些响应设备随屏幕大小而变化,对于我的班级,我正试图操纵它们,让它们在计时器上改变 这就是我说的- 我基本上是想让它在不同的设备动画中旋转,而不改变屏幕大小,我想知道我是否可以在纯css中做到这一点 我的第一个想法是用javascript交换类,用setTimeout控制交换。我想知道这样的事情是否可以用css来完成?也许是某种非常慢的关键帧,在它们之间循环 我的第一个想法是这样的: setTimeout(function() { // change 1

我在css中发现了一个很棒的代码笔,这些响应设备随屏幕大小而变化,对于我的班级,我正试图操纵它们,让它们在计时器上改变

这就是我说的-

我基本上是想让它在不同的设备动画中旋转,而不改变屏幕大小,我想知道我是否可以在纯css中做到这一点

我的第一个想法是用javascript交换类,用setTimeout控制交换。我想知道这样的事情是否可以用css来完成?也许是某种非常慢的关键帧,在它们之间循环

我的第一个想法是这样的:

setTimeout(function() {
  // change 1
     setTimeout(function() {
       // change 2
     }, 5000);
  }, 5000); 

依此类推,然后不可避免地链接回第一台设备。我不认为这个方法是最好的方法,我认为如果我能完全用css来做的话,这将是最简单的。任何见解都会非常有用。谢谢你的阅读

如果有人感兴趣,根据@gion_13的回答,我提出了一个javascript解决方案-

如图所示:

将媒体查询样式交换到它们自己的类中,并添加循环javascript超时,如下所示

   timeout();
function timeout() {

setTimeout(function () {

  if($("#device").hasClass("desk")){
       $("#device").removeClass("desk");
       $("#device").addClass("laptop");
     }else if($("#device").hasClass("laptop")){
       $("#device").removeClass("laptop");
       $("#device").addClass("tablet");
    }else if($("#device").hasClass("tablet")){
       $("#device").removeClass("tablet");
       $("#device").addClass("phone");
     }else if($("#device").hasClass("phone")){
       $("#device").removeClass("phone");
      $("#device").addClass("desk");
     }

    timeout();
}, 4000);
}
较短版本-


您只能通过使用动画在css中实现这一点,但是处理如此多的元素(6个元素)并尝试为每个设备状态(4个设备)同步6个动画是非常困难的,并且会导致代码混乱(6个动画,每个步骤6个)。我个人喜欢您最初的方法,并建议您使用css类定义每个设备(而不是媒体查询),然后使用计时器或通过用户交互(如按键)进行更改。太棒了,感谢您的回复@gion_13,我觉得javascript方法可能更容易。我想我只是好奇我是否可以在没有头痛的情况下在纯css中完成它。再次感谢!
timeout(0);
function timeout(ind) {
  var classes = ['desk', 'laptop', 'tablet', 'phone'];
  $('#device').removeClass(classes.join(' '))
              .addClass(classes[ind % classes.length]);
  setTimeout(function () { timeout(ind + 1); }, 4000);
}