Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.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 设置间隔更改?_Javascript_Php_Jquery_Html - Fatal编程技术网

Javascript 设置间隔更改?

Javascript 设置间隔更改?,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有 $(文档).ready(函数(){ setInterval(函数(){ $('#fetchstatuses').load('statuses/statuses.php')) }, 1000); }); 我用它来加载上面提到的div中页面的状态。但当我将注释表单添加到状态时: 对于每个状态,我回显状态,并在底部使用带有文本区域和提交按钮的表单注释代码 我的问题是interval加载了所有内容,我不能评论,因为每次都会在几秒钟内重新加载textarea。当我从代码中删除间隔时,整个脚本、我

我有


$(文档).ready(函数(){
setInterval(函数(){
$('#fetchstatuses').load('statuses/statuses.php'))
}, 1000);
});
我用它来加载上面提到的div中页面的状态。但当我将注释表单添加到状态时:

对于每个状态,我回显状态,并在底部使用带有文本区域和提交按钮的表单注释代码


我的问题是interval加载了所有内容,我不能评论,因为每次都会在几秒钟内重新加载textarea。当我从代码中删除间隔时,整个脚本、我的状态加载时间过长,类似按钮的图像加载时间过长。此外,当我试图停止脚本,直到我的评论表单被打开,并在评论后开始,它将无法工作。那么,有没有人知道这种方法或在这种方法中可以使用的其他方法呢?

我不完全理解这个问题,但是如果是关于启动/停止/暂停计时器/间隔,那么对于
setInterval()
setTimeout()
,您都有一个选项

这两种方法都返回超时或间隔的ID,可用于取消它们中的每一个

<script type="text/javascript">
    $(document).ready(function(){

    setInterval(function(){
        $('#fetchstatuses').load('statuses/statuses.php')
    }, 1000);

});

<div id="fetchstatuses"></div>
重新启动基本上是第1步,但请注意,每次返回的ID都是唯一的


我希望我能帮上忙。

为什么不从加载的内容中删除textarea并将其永久保存在页面中?因为所有状态都在该文件中,而不是一个…可能是暂停间隔,我只需要暂停加载,以便在键入注释时暂停加载,然后单击“注释”按钮继续间隔。。。开始是否与继续相同?或者我应该只在fetch div中包含文件,并在该文件中使用setInterval并在注释表单之前加载?或者加载到底有多少人喜欢或者状态被编辑。。。?我在面包房工作了一整晚,所以我现在觉得不太好……事实上,您上面的代码每1000毫秒创建一个新请求,一旦此请求完成,
#fetchstatus
的完整内容将被替换。因此,更换的总时间是
1000ms+此任务所需的时间
,实际差异非常大,因此不会保留订单。此外,我不太明白你在尝试什么。我有一个问题:我可以将interval设置为仅加载div,还是应该在一个文件中设置该div,然后设置interval,因为我需要它来加载注释和类似内容。。不是全部状态。。。我试过了,但它开始破坏我的整个页面,加载整个页面,而不仅仅是一个div…要回答这个问题,你需要提供更多的代码。我不明白您所说的“我可以将间隔设置为仅加载div”或“将该div放在一个文件中”是什么意思。如果您想从服务器轮询数据并将其附加到HTML中,那么您应该开始学习AJAX,您会发现有很多不同的方法可以解决类似您的问题。超时或间隔只是冰山一角的顶峰,也是
是否应该驻留在文件中的问题。
//1. getting the IDs
var timeOutID  = setTimeout(function () { … }, 1000),
    intervalID = setInterval(function () { … }, 1000);

//2. clearing the time-out/interval
clearTimeout(timeOutID);
clearInterval(intervalID);