Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS3用于图像旋转的动画,参数由javascript控制_Javascript_Html_Css_Rotation - Fatal编程技术网

CSS3用于图像旋转的动画,参数由javascript控制

CSS3用于图像旋转的动画,参数由javascript控制,javascript,html,css,rotation,Javascript,Html,Css,Rotation,我想持续高效地旋转图像——它必须在移动浏览器上平稳工作。我目前正在使用CSS3动画。我希望能够使用javascript控制CSS功能(启动、停止、设置旋转速度、轻松获得额外积分)。 这里是我到目前为止做的旋转本身。需要JS 谢谢 HTML: JS:TODO Rotate = { speed: 4, start: function () { }, stop: function () { }, setSpeed: function () { }, setEasing:

我想持续高效地旋转图像——它必须在移动浏览器上平稳工作。我目前正在使用CSS3动画。我希望能够使用javascript控制CSS功能(启动、停止、设置旋转速度、轻松获得额外积分)。 这里是我到目前为止做的旋转本身。需要JS

谢谢

HTML:

JS:TODO

Rotate = {
  speed: 4,
  start: function () {
  },
  stop: function () {
  },
  setSpeed: function () {
  },
  setEasing: function () {
  }
};

CSS3动画功能可以由javascript操作,根据您的问题,代码如下所示

    start: function () {
        var elem = document.getElementById('elementId');
        elem.style.animationPlayState = 'running';
    },
    stop: function () {
        var elem = document.getElementById('elementId');
        elem.style.animationPlayState = 'paused';
    },
    setSpeed: function (newSpeed) {
        var elem = document.getElementById('elementId');
        elem.style.animationDuration= newSpeed;
    },
    setEasing: function (newEasing) {
        var elem = document.getElementById('elementId');
        //whatever you want to change
    }
更新


.形象{
位置:绝对位置;
最高:50%;
左:50%;
宽度:120px;
高度:120px;
裕度:-60px0-60px;
-webkit动画:旋转4s线性无限;
-moz动画:旋转4s线性无限;
动画:旋转4s线性无限;
}
@-moz关键帧旋转{
100% {
-moz变换:旋转(360度);
}
}
@-webkit关键帧旋转{
100% {
-webkit变换:旋转(360度);
}
}
@关键帧旋转{
100% {
-webkit变换:旋转(360度);
变换:旋转(360度);
}
}
开始
停止
速度
耳鸣
旋转={
速度:4,
开始:函数(){
var elem=document.getElementById('theImage');
elem.style.animationPlayState='running';
},
停止:函数(){
var elem=document.getElementById('theImage');
elem.style.animationPlayState='暂停';
},
设置速度:功能(新闻速度){
var elem=document.getElementById('theImage');
elem.style.animationDuration=新闻速度;
},
setEasing:函数(newEasing){
var elem=document.getElementById('theImage');
//无论你想改变什么
}
};

这就是我所知道的。我不知道如何让js与CSS交互(这就是问题所在)。谢谢,谢谢。不幸的是,恐怕我不知道如何让你的代码工作。我不知道如何做的方面(使js和CSS交互)在您的代码中是假定的——也许它们对您来说是显而易见的。您愿意将其编辑为工作代码吗?也许是一把小提琴?再次感谢。当然,这不是一个完美的代码,我只是想给你一个想法。非常感谢你的帮助性回答,我接受了并投了赞成票。这是一个很好的例子,非常有用。我怀疑其他很多人也会从中受益。另外,在JS中是否可以获得对象的当前旋转位置?类似于:getPosition:function(){var elem=document.getElementById('theImage');?},不客气,我很高兴您发现我的答案很有用。
Rotate = {
  speed: 4,
  start: function () {
  },
  stop: function () {
  },
  setSpeed: function () {
  },
  setEasing: function () {
  }
};
    start: function () {
        var elem = document.getElementById('elementId');
        elem.style.animationPlayState = 'running';
    },
    stop: function () {
        var elem = document.getElementById('elementId');
        elem.style.animationPlayState = 'paused';
    },
    setSpeed: function (newSpeed) {
        var elem = document.getElementById('elementId');
        elem.style.animationDuration= newSpeed;
    },
    setEasing: function (newEasing) {
        var elem = document.getElementById('elementId');
        //whatever you want to change
    }