我正在閱讀本教程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