2

是否可以检查文档是否未准备好并在 jQuery 中定期执行函数?

只是我想实现类似的目标:

$('document').isNotReady(function(){

    $('#divState').text('Still Loading');  
});

$('document').Ready(function(){

    $('#divState').text('Loaded');
});

jQuery 中是否有内置函数来实现这样的功能?

4

3 回答 3

5

您可以将加载文本附加到页面顶部的 div 中,并在文档准备好时将文本更改为已加载。

编辑

正如@James 指出的那样,您的选择器存在问题。您正在使用 divState 作为标签选择器,这将是无效的。在这种情况下,您可以使用 id 选择器或类选择器,例如

$("#divState")或者$(".divState")

$(function(){
    $('#divState').text('Loaded');
});
于 2010-02-01T09:16:09.693 回答
1

HTML部分:

<input type="button" onclick="example_ajax_request()" value="Click Me!" />
<div id="example-placeholder">
  <p>Placeholding text</p>
</div>

jQuery部分:

function example_ajax_request() {
  $('#example-placeholder').html('<p><img src="/images/ajax-loader.gif" width="220" height="19" /></p>');
  $('#example-placeholder').load("/examples/ajax-loaded.html");
}

来源: http ://www.electrictoolbox.com/load-content-jquery-ajax-loading-image/

于 2010-02-01T09:24:41.377 回答
0

据我所知,不是。你可以很容易地模仿它:

var bIsReady = false;

$('document').Ready(function(){ 
    bIsReady = true;
    $('divState').text('Loaded'); 
}); 

/*
    use bIsReady somehow
/*

但我不确定当你可以在 HTML 中设置它时为什么要这样做:

<div>Still Loading</div>

然后在文档准备好后根据上面的代码进行更改。

另外,如果有一些 NotReady 函数,你不能保证你设置的 DIV 真的准备好了。

此外,您正在选择一个名为 DivState 的元素。你的意思可能是:$('#DivState')

于 2010-02-01T09:17:58.520 回答