Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 如何在滑动页面上使用循环settimeout在Framework7中定期加载html模板_Javascript_Jquery_Html_Html Framework 7 - Fatal编程技术网

Javascript 如何在滑动页面上使用循环settimeout在Framework7中定期加载html模板

Javascript 如何在滑动页面上使用循环settimeout在Framework7中定期加载html模板,javascript,jquery,html,html-framework-7,Javascript,Jquery,Html,Html Framework 7,我正在使用Framework7(Framework7.io)。以下代码在主视图页面上运行良好,并使用循环settimeout每秒重新加载signups.html: <script type=“text/javascript” src=“code.jquery.com/jquery-1.7.1.min.js”></script> <div id=“dnt” align=“center”></div> <div id=“signups”>&

我正在使用Framework7(Framework7.io)。以下代码在主视图页面上运行良好,并使用循环settimeout每秒重新加载signups.html:

<script type=“text/javascript” src=“code.jquery.com/jquery-1.7.1.min.js”></script>
<div id=“dnt” align=“center”></div>
<div id=“signups”></div>
<script language=“javascript”>
(function loop() {
document.getElementById(“dnt”).innerHTML = Date();
$(“#signups”).load(“signups.html”);
setTimeout(function () {
document.getElementById(“dnt”).innerHTML = Date();
$(“#signups”).load(“signups.html”);
loop()
}, 1000);
}());
</script>

(函数循环(){
document.getElementById(“dnt”).innerHTML=Date();
$(“#signups”).load(“signups.html”);
setTimeout(函数(){
document.getElementById(“dnt”).innerHTML=Date();
$(“#signups”).load(“signups.html”);
循环()
}, 1000);
}());
但是,如果我将代码放在滑动页面(signups.html)上,并在主视图中单击它(以便signups.html从页面右侧滑入),settimeout将不起作用,signups.html也不会加载。以下是滑动signups.html页面的html:

<div class=“navbar”>
<div class=“navbar-inner”>
<div class=“left”><a href=“#” class=“back link”> <i class=“icon icon-back”></i><span>Back</span></a></div>
<div class=“center sliding”><font face=arial size=4 color=333333><B>Signups</b></font></div>
</div>
</div>
<div class=“pages”>
<div data-page=“signups” class=“page”>
<div class=“page-content”>
<div class=“content-block”>
<div class=“content-block-inner”>
<script type=“text/javascript” src=“code.jquery.com/jquery-1.7.1.min.js”></script>
<div id=“dnt” align=“center”></div>
<div id=“signups”></div>
<script language=“javascript”>
(function loop() {
document.getElementById(“dnt”).innerHTML = Date();
$(“#signups”).load(“signups.html”);
setTimeout(function () {
document.getElementById(“dnt”).innerHTML = Date();
$(“#signups”).load(“signups.html”);
loop()
}, 1000);
}());
</script>
</div>
</div>
</div>
</div>
</div>

报名
(函数循环(){
document.getElementById(“dnt”).innerHTML=Date();
$(“#signups”).load(“signups.html”);
setTimeout(函数(){
document.getElementById(“dnt”).innerHTML=Date();
$(“#signups”).load(“signups.html”);
循环()
}, 1000);
}());
我不知道我做错了什么。任何提示都将不胜感激


Dave

您可以使用
setInterval()
定期调用一个函数来加载数据

阅读更多

函数循环(){
//在代码中取消下面两行的注释
//document.getElementById(“dnt”).innerHTML=Date();
//$(“#signups”).load(“signups.html”);
console.log(“在循环中”);
}
setInterval(函数(){
loop();

}, 1000); //保持自己的时间间隔
问题不在于settimeout本身,而在于framework7(具有自己的javascript结构)不允许它在滑动页面上运行—它在主视图页面上运行良好。你需要在framework7中测试它,以了解我的意思。另外,我不喜欢setinterval,因为它会导致浏览器速度减慢和冻结(根据经验)。