【发布时间】:2011-06-23 02:25:43
【问题描述】:
我是一个 jQuery 新手,下面的每一个都可以单独工作,但是在一起工作时会浪费时间。我究竟做错了什么?对代码的任何改进也将不胜感激......它将用于轮播广告。
<!--- Header Rotator --->
<script type="text/javascript">
$(document).ready(function() {
$("#header").load("header.cfm");
var refreshHeader = setInterval(function() {
$("#header").load("header.cfm");
}, 10000);
});
</script>
<!--- Main Rotator --->
<script type="text/javascript">
$(document).ready(function() {
$("#main").load("main.cfm");
var refreshMain = setInterval(function() {
$("#main").load("main.cfm");
}, 5000);
});
</script>
<!--- Footer Rotator --->
<script type="text/javascript">
$(document).ready(function() {
$("#footer").load("footer.cfm");
var refreshFooter = setInterval(function() {
$("#footer").load("footer.cfm");
}, 2000);
});
</script>
【问题讨论】:
-
它们以什么方式出现故障?如果只是在多个地方刷新内容,它们必须是准确的顺序吗?他们似乎有不同的时间?
-
尝试通过在其中添加
console.log()进行调试,然后查看哪个出现故障,否则很难判断发生了什么,因为一切看起来都很好。另一方面,保持这样的轮询对服务器来说似乎很重,你不能检索大约 100 个广告然后在浏览器中本地切换它们吗? -
@Oscar Godson 和@davin - 订单不是问题。时间是问题
-
@davin - 这在服务器上有多重?有什么需要担心的吗?内容根据客户端和不规则条件变化,无法缓存
-
@Chris,如果您添加
console.log(),您可能会看到导致时间偏离轨道的原因 - 从服务器加载可能需要时间,因此虽然代码运行良好,加载需要时间,这会导致延迟并使其看起来不定时。如果您可以按照我的第一个建议一次加载多个,那么这个问题就会得到解决,这样切换可以在本地进行并且更快。
标签: jquery conflict setinterval