jquery show/hide 不会等待完成
jquery show/hide doesn't wait for completion
我正在尝试定期:
- 从 ajax 调用中获取数据
- 将数据与div 的内容进行比较
- 如果数据 !=div 的内容:隐藏div,更改数据,显示div
这是我的代码:
...
<div id="myDiv">old data</div>
</body>
<script type="text/javascript">
$(document).ready( function() {
updates();
done();
});
function done() {
setTimeout( function() {
updates();
done();
}, 5000);
}
function replace(div, content){
$(div).html(content)
}
function updates() {
$.ajaxSetup({ cache: false });
$.getJSON("mywebsite/get_data", function(data) {
if ( $("#myDiv").html() !== data ){
$("#myDiv").hide(400, replace("#myDiv", data));
$("#myDiv").show(400);
}
});
}
</script>
...
问题是在完全隐藏div 之前,div 内容被新数据替换,即使回调函数 replace() 提供给 hide() 函数也是如此。
如何使hide()函数在调用replace()函数之前等待其完成(在本例中为400毫秒)?
我也尝试了 delay() 和 setTimeout(),但它做同样的事情。
谢谢
我认为你不需要那个replace
函数。无论如何,这应该有效:
function updates() {
$.ajaxSetup({ cache: false });
$.getJSON("mywebsite/get_data", function(data) {
if ( $("#myDiv").html() !== data ) {
$("#myDiv").hide(400, function() {
$("#myDiv").html(data);
$("#myDiv").show(400);
})
}
});
}
SEE JSFIDDLE (没有 ajax 调用)
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 单击按钮以等待单击按钮
- React组件等待所需道具进行渲染
- jQuery:.click(function(){(element),collapse('show',f
- 正在等待呈现图表,直到加载数据为止
- Bootstrap 3 Datepicker v4:dp.show和dp.change事件在Datepicker内联时不
- 在等待ajax请求时显示微调器并禁用页面
- Javascript在for循环中等待处理请求
- JavaScript循环并等待函数
- 在等待异步任务时永久循环
- JQuery hide()在show()之后不起作用,反之亦然
- 在通过child.print()打印之前,我如何等待图像加载到我的新窗口中
- 任何将(SSH)终端嵌入到一些HTML5表示系统中的想法(例如,show.js)
- 失败:等待Protractor与页面同步时出错:“”;在窗口上找不到角度”;
- 使用angularjs ng Show/ng hide显示和隐藏不同的内容
- 等待300毫秒,然后使用jQuery向下滑动菜单
- 我需要NG-IF/NG-SWITCH还是NG-SHOW&NG-HIDE
- 如何在show回调(qtip2)中等待ajax函数完成
- jquery show/hide 不会等待完成
- Angularjs ng-show等待作用域的填充