gpt4 book ai didi

javascript - 为什么这种转变不起作用?

转载 作者:太空狗 更新时间:2023-10-29 12:23:49 26 4
gpt4 key购买 nike

<html>

<head>
<title>Singularity</title>

<style>

body {
background-color: grey;
}

#boxOne {
position:relative;
height:150px;
width:150px;
background-color: black;

}

</style>
<script>
function playOne(){
document.getElementById("boxOne").style.left = "30px";
document.getElementById("boxOne").style.transition = "all 4s";
}
</script>


</head>

<body>
<div id="boxOne" onclick="playOne()"></div>
</body>
</html>

以上代码在框从左向右移动时有效。我以前成功地使用过 style.transition 从左到右缓慢地移动一个圆圈,但是这个框的行为与我试图让它到达的方式不同。盒子不应该立即从左移动到右,它应该像 style.transition 脚本中规定的那样需要 4 秒。不明白我做错了什么。

最佳答案

您还需要在样式表中设置一个起始值(所有浏览器都不会采用默认值)

function playOne() {
document.getElementById("boxOne").style.left = "30px";
document.getElementById("boxOne").style.transition = "all 4s"; //might be coherent to declare this at first
//or even straight in the style sheet
}
body {
background-color: grey;
}
#boxOne {
position: relative;
height: 150px;
width: 150px;
left: 0;
/* added this, so calculation can be done from an earlier css value*/
background-color: black;
}
<div id="boxOne" onclick="playOne()"></div>

关于javascript - 为什么这种转变不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38687354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com