javascript - 如何获得具有多个案例的动画功能,这些案例控制 Javascript 中的 CSS 值进行渲染?
问题描述
我正在尝试设置我的 Java 脚本,以便我可以动画一个对象从屏幕的顶部到底部一遍又一遍地调用不同的项目以随机下降。现在我想不出让其中一个物体掉下来。
我已经尝试通过我的 CSS 通过 java 脚本添加 css,但我不确定这是最好的选择。
function myMove() {
var elem = document.getElementsByClassName("boxcontainer");
var pos = 0;
var id = setInterval(frame, 725);
function frame() {
if (pos == 725) {
clearInterval(id);
} else {
pos++;
elem.style.top = pos + "25px";
}
}
}
elem.addEventListener("mousedown", function turnTetrisleft() {
switch (keycode) {
case Key.LEFT:
elem.style.transform.rotateX() += 90 + "deg";
break;
case Key.RIGHT:
elem.style.transform.rotateX() -= 90 + "deg";
break;
default:
elem.style.transform.rotateX() += "";
}
});
.boxcontainer {
position: absolute;
left: 750px;
top: 25px;
width: 50px;
height: 50px;
}
<div class="tetris-display">
<div class="tetris-item">
<div class="boxcontainer">
<div class="block">
<div class="innerblock block"></div>
</div>
<div class="block">
<div class="innerblock block"></div>
</div>
<div class="block box">
<div class="innerblock block"></div>
</div>
<div class="block box">
<div class="innerblock block"></div>
</div>
</div>
</div>
我看不到任何事情发生。我有几个关于括号的错误,但我目前看不到任何错误
解决方案
这个
elem.style.transform.rotateX() += 90 + "deg";
看起来不正确。elem.style.transform
是一个没有方法的字符串rotateX()
你应该把它写成
var angle = ...;
angle += 90;
elem.style.transform = angle.toString() + "deg";
推荐阅读
- c# - 关闭 c# 应用程序后删除 DLL
- android - ViewModel 单元测试在一起运行时失败,但在单独运行时通过
- aws-amplify - 如何使用 Amazon Amplify SDK 以编程方式为我的 Android 应用程序用户发送 SMS?
- c# - 如果我实现 IEquatable
,我会失去通过参考比较的选项吗? - sanity - 找不到 sanity.io 默认丰富日期组件的正确路径
- c++ - 分段错误(核心转储)向量
- ffmpeg - 使用 ffmpeg 将 .mov 文件转换为 webm 需要什么?
- ansible - Ansible Logstash 安装
- angular - Angular:无法通过服务捕获 404 API 的消息
- android - Questions regarding margins in constraint layout