這應該很簡單,但我想沒有jQuery使它有點困難。
我想重複一個div向右移動100px(帶動畫),然後向左移動100px(所以我想要連續移動)的過程。
這個問題似乎有很多jQuery的答案,但沒有純JavaScript解決方案。我可能在這裏丟失了一些明顯的東西,但我找不到它。
下面是代碼:如何讓div向左走,然後在javascript? (沒有jQuery)
var left = 0;
var id = setInterval(function(){goRight()}, 10);
var ed = setInterval(function(){goLeft()}, 10);
function goRight(){
var redpixel = document.getElementById("redpixel");
left++;
redpixel.style.left = left + "px";
if (left>100) {
clearInterval(id)
goLeft();
}
}
function goLeft(){
var redpixel = document.getElementById("redpixel");
left-=1;
redpixel.style.left = left + "px";
if (left<100) {
clearInterval(ed);
goRight()
}
}
HTML:
<button onclick="goRight()">Go Right</button>
<div id="redpixel"></div>
CSS:
.container {
width: 480px;
height: 800px;
border: 1px solid black;
}
#redpixel {
position: absolute;
top: 200px;
left: 0;
background: red;
width: 25px;
height: 25px;
}
最新評論:
- 動畫開始沒有我打電話任何功能(不使用按鈕),這怎麼可能?
- 動畫可以正常工作,但會在第一個100px時停止。
- (附加問題) - 如果我把var redpixel從函數中取出,它根本不起作用,爲什麼?
所有幫助表示感謝,謝謝!
你爲什麼反對使用jQuery? – 2015-02-07 19:53:57
你也有能力在CSS3中做到這一點。 – Adjit 2015-02-07 19:55:01