我有一个按钮和鼠标悬停,我希望它以 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 函数的 [] 值的部分,但我不确定如何让它工作。一旦我有正确的移动,我可以应用相同的原则将它移回onmouseout。
如果有人可以帮我解决这个问题,那就太好了。如果你有一个更好的脚本来做动画,只是 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) 部分。