setTimeout有的时候可以用,但这里不太合适吧,很吃内存
解决方案 »
- span的onclick事件改变内部的checkbox状态
- jquery中关于input的自定义属性valid
- JavaScript获取完整HTML
- js产生cookies的问题
- clientX在firefox下为什么不能用
- 请帮忙,javascript表单提交问题
- javascript新手求助:我想实现的是HTML和Javascript的分离,在js代码中用addLoadEvents实现在HTML文档加载之后再加载JS函数
- 如何让一个列表框的选定的值,添加到另一个列表框中
- 如何获取随机文件名
- Javascript怎么调用Applet中的函数?
- 寻求链表节点删除的秘密 !!!
- 请教高手,这个代码怎么写
1、把数据分割,每次只加载部分数据,处理过的就清空.
2、或者执行部分数据后(1000条),然后地址栏传参(传递当前的count),打开新的ie关闭原来的ie,在页面里获取参数count,然后在新的ie里由count的下标再开始执行代码.
你是要实现什么?在一个ifm里不停的打开网站?
<script type="text/javascript">
var urldata =
[
{"url":"http://www.xxx.com/"}
,{"url":"http://www.xxx.com/"}
,{"url":"http://www.xxx.com/"}
,{"url":"http://www.xxx.com/"}
,{"url":"http://www.xxx.com/"}
……………………
]
var count = 0;
var timeID = null;
function Output() {
clearTimeout(timeID);
$("mytest").innerHTML = "<iframe src='"+urldata[count].url+"'></iframe>"
//这样试试看行不行,并且看看有没有其他原因引起ie缓慢。
//$("ifm").src = urldata[count].url;
count++;
timeID = setTimeout("Output();",15000);
if (count == 10000) {
alert("ok");
}
}
Output();
</script>
clearTimeout(timeID);
alert("ok");
} 由于你是10000次以后才释放内存,也就是说在你达到10000次以前,你之前的所有动作一直都在执行,都在占用内存,占用满了自然会导致卡死现象
clearTimeout(timeID);
alert("ok");
} 由于你是10000次以后才释放内存,也就是说在你达到10000次以前,你之前的所有动作一直都在执行,都在占用内存,占用满了自然会导致卡死现象
if (count == 10000)这个是个数,10000是随意写的,如果数据是500,那么是这样的,if (count == 500)。
clearTimeout(timeID);
alert("ok");
}意思就是运行到最后一个,清除seTtimeout计时器,再alert提示一下。
innerHTML这个插入iframe,能直接访问吗?好像要刷新。
var timeID = null;
function Output() {
if(timeID!= null){
clearTimeout(timeID);
}
$("mytest").innerHTML = "<iframe src='"+urldata[count].url+"'></iframe>"
//这样试试看行不行,并且看看有没有其他原因引起ie缓慢。
//$("ifm").src = urldata[count].url;
count++;
timeID = setTimeout("Output();",15000);
if (count == 10000) {
alert("ok");
}
}
Output();
clearTimeout(timeID);
}
var count = 0;
var timeID = null;
function Output() { for(var i=count ; i<urldata.length ; i++)
{
$("ifm").src = urldata[i].toString();
}
count++;
timeID = setTimeout("Output();",15000);
}
也不好测试。。
<script type="text/javascript">
/*<![CDATA[*/var urldata = new Array();
for (var i=0; i<100; i++)
{
urldata.push(new Array(100).join("http://www.qq.com/#").split("#"));
}var count = 0;
var timeID = null;function Output()
{
document.getElementById("ifm").src = "about:blank";
document.getElementById("ifm").src = urldata[Math.floor(count/100)][count%100]; count++;
timeID = window.setTimeout(Output, 15000); if (count == 100*100)
{
window.clearTimeout(timeID);
alert("ok");
}
}Output();/*]]>*/
</script>