我正在阅读本教程http://www.schillmania.com/content/projects/javascript-animation-1/,当我创建代码时,我让我的div向右移动10px,但只有一次,如果我想继续单击按钮并让它移动每次额外10px,或者如果setTimeout()被设置,它不应该继续调用该函数并添加一个额外的10px有史以来20ms?我知道这可能是一个简单的解决方案,所以如果任何人可以帮助它,将不胜感激。 (我只是学习如此没有侮辱)。简单的JavaScript动画问题
<div onclick="invis('one')" id="one"></div>
<button onclick="domove()">hello</button>
<div onclick="invis('two')"id="two"></div>
<div onclick="invis('three')"id="three"></div>
<script type="text/javascript">
function domove()
{
$("one").style.left+=10+'px';
setTimeout(domove,20);
}
</script>
我有#one {} CSS花式如下:
width: 100px;
height: 50px;
float: left;
margin-right: 10px;
background-color: blue;
position: relative;
这对我很有用。最初我把它设置为:$(“one”)。style.left =($(“one”)。style.left + 10)+'px';那也不适合我。另外我不使用jQuery,我试图在没有它的基础上学习基础知识。我只是想设置$字符等于“document.getElementById(”“)”...有关为什么上述代码片段不能正常工作的任何想法?或者有什么办法可以在没有全球性的情况下实现? – T110 2012-02-23 19:49:29