ボタンとマウスオーバーがあります。10ピクセルで100ピクセル右に移動してから、停止します。移動は停止の問題ではありません。これはjqueryで問題なく実行できますが、javascriptで最初から実行する方法を学ぶ必要があります。これは、これまでのところ右に移動するための私のスクリプトです。
function rollRight() {
imgThumb.style.left = parseInt (imgThumb.style.left) + 10 + 'px';
animate = setTimeout(rollRight,20);
}
それはそれをうまく動かすので、それを止めるために私はループの量を5x10 = 50px取ってみて、それを次のように書き直しました
function rollRight() {
var i=0;
while (i < 5) {
imgThumb.style.left = parseInt (imgThumb.style.left) + 10 + 'px';
animate = setTimeout(rollRight,20);
i++;
};
}
さて、while関数の[]値を返すためのピースが欠けていると思いますが、それを機能させる方法がわかりません。右に移動したら、同じ原則を適用してマウスアウトに戻すことができます。
誰かが私がこれを修正するのを手伝ってくれるなら、それは素晴らしいことです。ライブラリを使用せずにJavaScriptだけでアニメーションを実行するためのより優れたスクリプトがある場合は、それも素晴らしいことです。
編集:コメントとして残すのはうまくいかなかったので、これは私の現在のコードです
function rollRight() {
var left = parseInt (imgThumb.style.left);
if(left < 50) { // or any other value
imgThumb.style.left = left + 10 + 'px';
animate = setTimeout(rollRight,20);
}
}
function revert() {
var left = parseInt (imgThumb.style.left);
if(left < 50) { // or any other value
imgThumb.style.left = left + -10 + 'px';
animate = setTimeout(rollRight,20);
}
}
元に戻すときに、元に戻すのに問題があります。おそらくif(left <50)の部分にあります。