我想通过按钮按下网站来执行以下操作:
将Div(子)添加到另一个Div(父级)中,然后等待三秒钟并清除父级。无论我做什么,孩子在等待时都不会在父母身上出现。
如果我删除了我清除父母的部分,它将首先等待,然后显示孩子。只有当我移除wating部分它才会立即显示孩子。
这让我觉得我误解了通过Ajax进行异步等待,但我不知道我错在哪里。感谢帮助。
最小"工作"例如:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="IE=EDGE">
<title>Classify</title>
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="loaderStyle.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
function mocktimeout(q)
{
document.getElementById("input").innerHTML = "<div class=\"loader\"> </div>";
waitfor(
function setQuality(){
quality = q;
document.getElementById("input").innerHTML = "";} );
}
function wait(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
function waitfor(callback) {
wait(3000);
onAjaxSuccess: (function(){
callback();
})();
}
</script>
</head>
<body>
<div class="wrapper">
<div class="mainwrapper">
<div class="main">
<div id="input" contenteditable="true" class="input"">
</div>
<div class="classwrapper">
<div id="class1" class="class left">
</div>
<button class="btn" onclick="mocktimeout(1)"> </button>
</div>
</div>
</div>
</div>
</body>
</html>
答案 0 :(得分:1)
在&#34;等待(3000);&#34;和&#34; onAjaxSuccess :( function()...&#34;你将等待那个时间在循环中运行。 在获得ajax结果之后或者在您想要先等待或者在执行ajax调用之后,您应该使用pdf.js。
答案 1 :(得分:1)
更简单的解决方案可能是使用这样的setTimeout():
excluded-labels