適当に要素を作ってそれをJavascriptで左右にアニメーションさせたいです。
具体的には、右に100px(任意)移動し、100px移動したら次は左に100px移動させ、それを永遠に繰り返す(右→左→右→左)記述を書きたいのですが、よくわからず質問させていただきました。
setTimeoutを使ってやればいいと思うのですが、どのような書き方をすれば実現できるでしょうか?
jQueryは使わずにJavascriptで記述したいです。
現状右に移動するだけの動作はできています。
------ HTML ------ <div id="rect">box</div> ------ HTML ------ ------ CSS ------- #rect { width: 100px; height: 30px; background: #00f; color: #fff; text-align: center; margin: 0 20px; } ------ CSS ------- ------- JS ------- var startTime = Date.now(); var box = document.getElementById("rect"); var myTime = 500; function rect() { var current = new Date() - startTime; if( current < myTime ) { var id = setTimeout(rect, 10); box.style.marginLeft = 20 + 20 * (current / myTime) + "px"; } } rect(); ------- JS -------
どうぞよろしくお願いいたします。
回答5件
あなたの回答
tips
プレビュー