JavaScript Div Annimation
JavaScript Div Annimation
我想知道是否有任何特定的方法可以让javaScript代码在某些时候停止执行,以便允许另一个被调用的函数执行,例如,在使用div的排序算法中,您调用一个动画交换两个div的函数,以便您可以直观地看到排序发生。我试过使用setTimeout(c,t);然而,如果我放置一个警报("),它似乎没有等待,div似乎也没有移动;在移动代码中,它似乎允许移动发生,并弹出数千个警报。
我的代码如下:
var q;
var w;
function move(x,y)
{
q = x.style.top; // Keep a reference to the Top divs top element
w = y.style.top; // Keep a reference to the Top divs top element
doMove(x,y);
}
function doMove(topDiv, bottomDiv)
{
//alert("in doMove " + topDiv);
topDiv.style.top = parseInt(topDiv.style.top)+2+'px';
bottomDiv.style.top = parseInt(bottomDiv.style.top)-2+'px';
//alert("hi");
if(bottomDiv.style.top != q && topDiv.style.top != w) // Check if the Top and Bottom divs have finally swapped
{
setTimeout(doMove(topDiv,bottomDiv),20); // call doMove in 20msec
}
}
代码中的一个问题是:
setTimeout(doMove(topDiv,bottomDiv),20);
您正在立即调用doMove
,并将值undefined
作为第一个参数传递给setTimeout。我不完全确定下面的方法能解决你的问题,但我建议你试一下:
setTimeout(function() { doMove(topDiv,bottomDiv); }, 20);
相关文章:
- 添加文字和评论功能更新Div
- 点击后隐藏潜水?(但如果Div是一面旗帜呢?)
- 使用JavaScript动态插入DIV的成本有多高
- DIV并排,位置不正确
- Div根据<选择>菜单
- Href:当前DIV中的目标ID
- Onchange没有'不要显示或隐藏Div
- 绝对定位不适用于Javascript DIV
- 在Rails中更新Div,而不更改更新请求后的视图
- how to convert html <div> to pdf
- 如何在不影响其他元素的情况下扩展DIV
- 使用jQuery在页面上浮动DIV
- 如何通过点击机身上的任何位置来关闭弹出的DIV
- 单击按钮时Div Increment
- 只从DIV删除图像,而不是整个网站
- 禁用Tab键以进行具有特定Div ID的输入
- 根据CHECKBOX输入值动态更新DIV信息
- 为什么“outerHTML”更改的DIV仍然没有响应
- 当DIV中的文本高亮显示时,如何获得DIV中Span的值?(Javascript)
- JavaScript Div Annimation