我有一个试图通过设置其左侧属性来移动div的简单示例。当我刷新页面时,div立即显示在650的左边。没有转换发生。我对代码进行了各种更改,但结果始终如此。以下是目前的状态。我错过了什么?Transition Div不工作
HTML:
<div ng-style="pos" class="box"></div>
CSS:
.box {
position:absolute;
top:250px;
left:100px;
background-color:tan;
height:50px;
width:50px;
transition: top 1800ms linear, left 1800ms linear;
}
JS:
function moveController($scope) {
$scope.pos = {
top: 250,
left: 100
}
$scope.pos.left = 650;
}
正如你所看到的,我想框1800ms的时候动过。该框以基于CSS的正确格式显示在屏幕上,以便该部分正在工作。但是,没有过渡。为什么?
什么是调用moveController功能?也许你需要在动画上设置超时或延迟? – hidanielle
这似乎不会工作,直到页面加载https://jsfiddle.net/dgx4ps35/它只适用于JavaScript设置为onLoad后运行。 onDomready并在头部或身体标签中给出了与您描述的结果相同的结果。 – spaceman
@spaceman就是这样。如果我在加载所有内容后对点击事件做出响应时设置了'$ scope.pos.left',它就会起作用。如果您想发布答案,我会接受。谢谢。 –