基本JavaScript动画

基本JavaScript动画,javascript,animation,Javascript,Animation,在浏览了JavaScript动画教程和其他stack over flow文章之后。我想知道为什么当我自己尝试实现它时,它不起作用。即使逐字复制,动画也无法工作。这是我根据给出的示例代码创建的版本。我很清楚其他的例子包含了更多的代码,但是这个人似乎使用更少的代码,获得了相同的结果,并将其作为工作代码进行宣传。我也知道CSS3以及它的易用性,我只是好奇为什么它不起作用。谢谢你的阅读 <!DOCTYPE html> <html lang="en"> <head> &

在浏览了JavaScript动画教程和其他stack over flow文章之后。我想知道为什么当我自己尝试实现它时,它不起作用。即使逐字复制,动画也无法工作。这是我根据给出的示例代码创建的版本。我很清楚其他的例子包含了更多的代码,但是这个人似乎使用更少的代码,获得了相同的结果,并将其作为工作代码进行宣传。我也知道CSS3以及它的易用性,我只是好奇为什么它不起作用。谢谢你的阅读

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Animation</title>
<style type="text/css">
.area {
    width: 300px;
    height: 300px;
    border-style: solid;
    border-width: 1px;
}

.block {
    width: 25px;
    height: 25px;
    background: #999;
}
</style>
<script>
function move(elem) {
    var left = 0;
    function frame() {
        left++; //update parameters
        elem.style.left = left + 'px'; //show frame
        if(left==100)
            clearInterval(id);
    }
    var id = setInterval(frame, 10); //draw every 10ms
}
</script>
</head>
<body>
    <div onclick="move(this.children[0])" class="area">
    <div class="block"></div>
</div>
</body>
</html>

动画
.区域{
宽度:300px;
高度:300px;
边框样式:实心;
边框宽度:1px;
}
.街区{
宽度:25px;
高度:25px;
背景:#999;
}
功能移动(elem){
左向量=0;
函数框架(){
左+++;//更新参数
elem.style.left=left+'px';//显示帧
如果(左==100)
清除间隔(id);
}
var id=setInterval(帧,10);//每10毫秒绘制一次
}

当position属性不是静态(默认)时,属性
left
处于活动状态。切换到位置:相对,或使用左边距代替左边距

当position属性不是静态(默认)时,属性
left
处于活动状态。切换到位置:相对,或使用左边距代替左边距

您需要相对或绝对定位块元素,以便左属性工作:

.block {
    position: relative;
    width: 25px;
    height: 25px;
    background: #999;
}

要使“左”属性正常工作,需要相对或绝对定位块元素:

.block {
    position: relative;
    width: 25px;
    height: 25px;
    background: #999;
}

你能在控制台日志中看到什么错误?你能在控制台日志中看到什么错误?谢谢,我意识到JSFIDLE在某些事情上并不总是那么可靠。谢谢,我意识到JSFIDLE在某些事情上并不总是那么可靠。