我正在开发一个项目,其中导航并没有真正更改页面,而是使用基于我单击的导航链接的服务获取数据,并使用 jquery .html() 方法更新数据,我想使用一个在单击任何内容时显示的加载器链接并隐藏内容,当 ajax 服务成功时,我想删除加载器并显示内容,但不知何故动画重叠导致动画失败,
在这里的示例代码中,我不是使用 ajax 来更新我的页面,而是使用简单的按钮和 jquery 来更新数据
<body>
<div id="loader">
<img src="loader.gif" alt="">
</div>
<br>
<div id="content">
This is the content
</div>
<input type="button" id="update" value="Update Data">
</body>
<script>
function showContent(){
$('#loader').fadeOut(200).promise().done(function(){
$('#content').fadeIn(200).promise().done(function(){
});
});
}
function hideContent(){
$('#content').fadeOut(200).promise().done(function(){
$('#loader').fadeIn(200).promise().done(function(){
});
});
}
$("#update").click(function(){
hideContent();
$("#content").html("New Data");
setTimeout(showContent(), 10000);
});
</script>
单击更新时,应该会发生这种情况,内容应该消失,加载程序应该出现,更新内容,加载程序消失,内容出现,
但我得到加载器和内容都出现在最后
我使用 setTimeout 来延迟,但它不起作用,我之前也使用了一些标志,但也没有用。JsFiddle : JsFiddleLink