创建一个框架集合,其中包含九个框架。这个框架集合的<head>部分含有一个<script>元素,其中定义了一个名为setcolor()的JavaScript函数。标记<frameset>的事件处理程序onload为每个框架调用了一次函数setcolor()。
setcolor()的参数是一个Window对象。它随机生成一种颜色,将这种颜色用于Document.write()方法,以创建一个只有背景颜色的空文档。最后setcolor()调用方法setTimeout()对自己进行调度,每秒调用它一次。对方法setTimeout()的调用是这个例子中最为有趣的一部分。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<script>
function setcolor(w){
var r = Math.floor((Math.random() * 256)).toString(16);
var g = Math.floor((Math.random() * 256)).toString(16);
var b = Math.floor((Math.random() * 256)).toString(16);
var colorString = "#" + r + g + b;
//将框架的背景设置为该随机颜色
w.document.write("<body bgcolor = ' " + colorString + " ' ></body>");
w.document.close();
//设置每一秒调用该方法,变化颜色
setTimeout('setcolor(' + w.name +')',1000);
}
</script>
</head>
<frameset rows = "33%,33%,34%" cols = "33%,33%,34%"
onload = "for(var i = 0; i < 9; i++) setcolor(frames[i]);">
<frame name = "f1" src = "javascript:''"><frame name = "f2" src = "javascript:''">
<frame name = "f3" src = "javascript:''"><frame name = "f4" src = "javascript:''">
<frame name = "f5" src = "javascript:''"><frame name = "f6" src = "javascript:''">
<frame name = "f7" src = "javascript:''"><frame name = "f8" src = "javascript:''">
<frame name = "f9" src = "javascript:''">
</frameset>
<body>
</body>
</html>