Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript id为的Div存在,但jQuery无法识别_Javascript_Jquery_Setinterval - Fatal编程技术网

Javascript id为的Div存在,但jQuery无法识别

Javascript id为的Div存在,但jQuery无法识别,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我有一个页面,每5秒将另一个页面加载到一个div中。 我使用jQuery将其加载到document.ready上,它可以工作,但在调用setInterval函数时不会每5秒重新加载一次。 我遇到错误“无法读取null的属性'load'” <div id="wallboard"></div> <script type="text/javascript"> $(document).ready(function(){ //Put in

我有一个页面,每5秒将另一个页面加载到一个div中。 我使用jQuery将其加载到document.ready上,它可以工作,但在调用setInterval函数时不会每5秒重新加载一次。 我遇到错误
“无法读取null的属性'load'”

<div id="wallboard"></div>

<script type="text/javascript">     
    $(document).ready(function(){
     //Put in initial data THIS WORKS
     $('#wallboard').load('refresh_wall2_test.php'); 

        //Refresh wallboard div every 5 seconds THIS DOESN'T WORK
        $(function(){ 
            window.setInterval(
            function(){                     
                $('#wallboard').load('refresh_wall2_test.php'); 
            } ,5000);
        });
    });
</script>

$(文档).ready(函数(){
//输入初始数据,这样就行了
$('#wallboard').load('refresh_wall2_test.php');
//每5秒刷新一次墙板分区这不起作用
$(函数(){
window.setInterval(
函数(){
$('#wallboard').load('refresh_wall2_test.php');
} ,5000);
});
});
试试看


在document.ready之外定义函数,并在其中调用setInterval

$(document).ready(function(){
    setInterval(foo(page), 5000);
});
var foo = function(page) {
    $('#wallboard').load(page);
};

这对我来说非常合适。我将setInterval函数放在一个变量上,因此如果需要,可以
clearInterval

$(文档).ready(函数(){
“严格使用”;
//将窗口加载到就绪状态。。。
$('#wallboard').load('home.php');
//每5分钟刷新墙板分区
window.reloadDiv=window.setInterval(
函数(){
$('#wallboard').load('refresh_wall2_test.php');
}, 5000);
});

您首先不需要
setInterval
。您需要做的就是等待第一次加载完成,在complete回调中,执行
setTimeout
,以设置的延迟重新加载
div
。希望有帮助

$(document).ready(function() {
    //Store the reference
    var $elem = $('#wallboard');
    //Create a named self executing function
    (function loadPage() {
        $elem.load('refresh_wall2_test.php', function() {
            //When the request is complete, do a timeout which calls the function again.
            window.setTimeout(function() {
                loadPage();
            }, 5000);
        });
    }());
});

$(function()…
$(document).ready()的缩写..
。不要调用它两次。
setInterval
将在早期调用尚未完成时继续对ajax调用进行排队。但问题看起来确实是
refresh\u wall2\u test.php
。即使选择器与任何元素都不匹配,jQuery也不会返回
null
,所以您确定$仍然引用jQuery吗?顺便说一句,在哪个浏览器上可以使用y您是否收到此错误消息?听起来您加载的脚本实际上包含prototypejs或任何其他库,覆盖$并返回nullA.Wolff就是这样我发现我的refresh_wall2_test.php文件包含prototype且存在冲突!我仍然得到“无法读取null的属性'load'”该页面存在吗?是的,该页面存在,LShetty的答案有效,不知道为什么我仍然得到“无法读取属性'load'的null”我猜你在页面的其他地方有错误。使用我在.html文件中单独提供的脚本将产生正确的结果。你能发布你的全部(或几乎全部)吗文档?页面根本不刷新对不起,我在最后加了一个括号。这个解决方案对我很有效。效果很好,谢谢:)@swdee这真让人困惑,这将如何解决您关于错误消息的问题。听起来您在加载的脚本中覆盖了$alias,可能是使用jQuery noConflict方法。我发现我的refresh_wall2_test.php文件包含原型,并且与jQuery冲突!但仍不确定上述问题是如何解决的
$(document).ready(function() {
    //Store the reference
    var $elem = $('#wallboard');
    //Create a named self executing function
    (function loadPage() {
        $elem.load('refresh_wall2_test.php', function() {
            //When the request is complete, do a timeout which calls the function again.
            window.setTimeout(function() {
                loadPage();
            }, 5000);
        });
    }());
});