by
Anonymous Coward
on 2009年12月18日 19時34分
(#1691129)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>setTimeout</title> </head> <body> <div > <span id="i"></span> - <span id="cnt"></span> = <span id="i-sub"></span> </div> <div> <p style="text-align:left;"> </p> </div> <script type="text/javascript"> (function(){ var attr = ("innerText" in document.documentElement) ? "innerText" :"textContent"; var cnt=0; var i = 0;
function add(x){ var e = document.getElementsByTagName("p")[0]; e[attr] = e[attr] + (" " + x); e = document.getElementById("cnt"); e[attr] = ++cnt; e = document.getElementById("i-sub"); e[attr] = i-cnt; }
for (var i = 100; i <= 500; i += 100) { //delay(i,i); } var f = function(x, y){ setTimeout(function(){ add(x); }, y); }; //for (var i = 1; i < 30000; ++i) { // f(i, i); //}
(function(max){ i=0; var e = document.getElementById("i"); var id=window.setInterval(function(){ e[attr] = i; f(i, i); if(++i>max){ window.clearInterval(id); } }, 1); })(30000); })(); </script> </body> </html>
並列処理なら こんな感じでは? (スコア:0)
<html>
<head>
<title>setTimeout</title>
</head>
<body>
<div >
<span id="i"></span>
-
<span id="cnt"></span>
=
<span id="i-sub"></span>
</div>
<div>
<p style="text-align:left;">
</p>
</div>
<script type="text/javascript">
(function(){
var attr = ("innerText" in document.documentElement) ? "innerText" :"textContent";
var cnt=0;
var i = 0;
function add(x){
var e = document.getElementsByTagName("p")[0];
e[attr] = e[attr] + (" " + x);
e = document.getElementById("cnt");
e[attr] = ++cnt;
e = document.getElementById("i-sub");
e[attr] = i-cnt;
}
for (var i = 100; i <= 500; i += 100) {
//delay(i,i);
}
var f = function(x, y){
setTimeout(function(){ add(x); }, y);
};
//for (var i = 1; i < 30000; ++i) {
// f(i, i);
//}
(function(max){
i=0;
var e = document.getElementById("i");
var id=window.setInterval(function(){
e[attr] = i;
f(i, i);
if(++i>max){
window.clearInterval(id);
}
}, 1);
})(30000);
})();
</script>
</body>
</html>