同一函数中的多个 DOM 更新
multiple dom updates in the same function
我有一个JavaScript函数,从其中包含的指令的开始到结束,需要一些时间才能执行。在执行过程中,我想显示一个div 元素,然后在执行后我想隐藏它。我写了这个简单的代码片段,但不起作用:
<div style="height: 100px; width: 100px; background-color: red; display: none;" id="d"></div>
<script>
document.getElementById('d').style.display='block';
console.log('start');
xmlhttp=new XMLHttpRequest();
xmlhttp.open("POST","http://www.google.com",false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
try{
xmlhttp.send();
} catch (e) {
}
var response = xmlhttp.responseText
document.getElementById('d').style.display='none';
console.log('finish');
</script>
如果您查看控制台,您会发现"开始"和"完成"语句之间有一个间隔,但div 保持隐藏状态!这怎么可能以及如何解决?
如果你想用jQuery(http://jquery.com/让你的生活变得简单执行以下操作:1. 将 jQuery 包含在您的页面中2. 执行以下操作:
<div style="height: 100px; width: 100px; background-color: red; display: none;" id="d"></div>
<script>
$("#d").show();
$.ajax({
type:'POST',
url:'http://www.google.com',
success: function(data) {
//code on successful response
},
error: function(xhr) {
// code on error response
},
complete:function(){
// code on - success/failure
$("#d").hide();
}
});
</script>
享受
相关文章:
- 如何确定Vue何时完成DOM更新
- DOM 更新问题
- ReactJS:如何从 DOM 更新 React
- 同一函数中的多个 DOM 更新
- Meteor JS渲染和DOM更新
- 简单的 AngularJS DOM 更新
- Safari:绝对定位的DIV在通过DOM更新时不会移动
- 任何视图模型dom更新的Knockout JS事件
- 使用DOM更新时不会触发输入文本事件
- 在Webkit中同步重绘/等待DOM更新
- 在不触发DOM更新的情况下更改URL
- Rails 3和Ajax/JSON/JQuery/直接DOM更新-与Scaffold程序一起使用
- 什么时候DOM更新完成,在javascript中添加子元素
- 羊驼javascript dom更新
- jQuery/Javascript -如何在继续执行函数之前等待被操纵的DOM更新
- 如何使用javascript和HTML DOM更新HTML元素的颜色?
- dojotoolkit中DOM更新有轻微延迟
- 暂停jQuery就绪事件,直到多个HTML DOM更新完成
- 严重的问题与后退按钮,Chrome和DOM更新
- 有没有一种编程方法来知道jQuery的DOM更新何时完成