这是一个ASP.Net MVC 5
项目。
我有一个简单的javascript
/ jQuery
如下:
<script>
$(document).ready(function () {
$("#textBox").focusout(function () {
var phrase= $("#textBox").val();
phrase= phrase.replace(new RegExp(/\s+/, 'g'), "%20");
$("#commentDiv").load("../Search/SearchSingular?phrase=" + phrase);
});
});
</script>
正如您所看到的,有一个jQuery
.load
方法在SearchSingular
控制器中调用Search
操作时焦点来自HTML元素{{1 }}。这很有效,但id = textBox
动作执行有时可能需要一段时间才能完成。
因此,我想在负载未完成时显示加载图像。有没有办法做到这一点?
答案 0 :(得分:3)
将其变为回调
// Somecode to display a image
$("#commentDiv").load("../Search/SearchSingular?phrase=" + phrase, function() {
// Somecode to remove image
});
答案 1 :(得分:2)
您可以在加载div内容时使用加载图像
("#loadingImage").show();
$("#commentDiv").load("../Search/SearchSingular?phrase=" + phrase, function(){
$("#loadingImage").hide(); // hide the image after loading of div completes
});
为您的加载图片划分
<div id="loadingImage">
<img src="loader.gif">
</div>
答案 2 :(得分:2)
jQuery complete
函数有一个.load
回调(阅读更多http://api.jquery.com/load/)
你可以修改你的javascript如下:
<script>
$(document).ready(function () {
$("#textBox").focusout(function () {
var phrase= $("#textBox").val();
phrase= phrase.replace(new RegExp(/\s+/, 'g'), "%20");
ShowLoading();
$("#commentDiv").load(
"../Search/SearchSingular?phrase=" + phrase,
function () { HideLoading(); }
);
});
});
</script>