javascript - 如何将dom元素旋转一定量(纯js)
问题描述
我正在尝试连续旋转一个项目。此代码适用于为时钟旋转“秒”针:
function setTime() {
const timer = new Date();
const getSeconds = timer.getSeconds();
const degrees = (getSeconds/60)*360;
console.log('check: ', degrees);
globe.style.transform = `rotate(${degrees}deg)`;
}
const globe = document.querySelector(".logo");
setInterval(setTime, 200);
此代码允许我旋转项目。但是,我想比这更快地旋转项目,所以我尝试将计时器从 1000ms 更改为 200ms 并获取getMilliseconds()而不是getSeconds()并递增,但这是行不通的。我还尝试在不使用实际时间的情况下将旋转设置为增量,并且我抓取的 dom 元素(.logo)最初旋转一次,然后不再旋转:
function setTime() {
const rotateDegs = 10;
globe.style.transform = `rotate(${rotateDegs}deg)`;
}
const globe = document.querySelector(".logo");
setInterval(setTime, 200);
如何让我的物品以接近 30rpm 或更高的速度连续旋转?
我只想使用 js 和/或 css 没有 jquery。谢谢
解决方案
也可以用纯 JavaScript 回答。
如果你需要增加 rpm 就像你说的超过 30只操作value
变量
let val = 0;
rotateItem = item => {
item.style.transform = "rotate(" + val + "deg)";
item.style.webkitTransform = "rotate(" + val + "deg)";
item.style.mozTransform = "rotate(" + val + "deg)";
val += 10;
}
setInterval(() => rotateItem(document.getElementById('foo'), 0) , 100);
#foo {
width:100px;
height:100px;
border:2px dashed blue;
}
<img id="foo" src="https://upload.wikimedia.org/wikipedia/commons/6/64/Simple_light_bulb_graphic.png">
推荐阅读
- c# - 为什么excel实例不会退出
- scala - 如何在 apache spark SCALA 中加载 CSV 文件
- elasticsearch - 弹性搜索嵌套对象自动完成
- javascript - 如何在加号和减号之间切换手风琴?
- umbraco - Umbraco 2 级文档类型
- python - ValueError:没有为“dense_input”提供数据
- excel - Why does the ImportXML Method leads to a runtime error 9?
- django - Django 管理面板在表/模型名称之后呈现“s”
- javascript - 使用 Joi 验证包含 mustache 模板的 uri
- php - SoapFault:看起来我们在 + PHP 中没有 XML 文档