【发布时间】:2020-08-29 00:00:06
【问题描述】:
我尝试使用 setInterval 和一个改变样式属性的函数来创建猫走路的动画。然而,这不起作用。没有动画。而且我已经正确完成了所有操作,所以我不知道为什么它不起作用。
<html>
<head>
<meta charset="utf-8">
<title>Challenge: Catwalk</title>
<style>
#cat {
position: absolute;
left: 0px;
}
</style>
</head>
<body>
<div>
<!-- Cat walking GIF from: http://www.anniemation.com/clip_art/graphics.html -->
<img id="cat" src="https://www.kasandbox.org/programming-images/misc/cat-walk.gif">
</div>
<script>
var catEl = document.getElementById("cat");
function walkTheCat(){
catEl.style.left=parseFloat(catEl.style.left)+40+"px"
};
setInterval(walkTheCat,1000)
</script>
</body>
</html>```
【问题讨论】:
-
避免使用 JavaScript 制作动画。使用 css 动画。
-
catEl.style.left = (parseFloat(catEl.style.left) || 0) + 40 + "px"... 因为元素本身没有left样式值 - CSS 不会为元素样式添加样式
标签: javascript function setinterval