Код этого примера приведен ниже. Вы можете также просмотреть его, выбрав пункт меню View/Source или щелкнув правой клавишей и выбрав пункт View Source из выпавшего меню.
<html> <body> <script language="javascript"> window.onload=Init; var x0, y0, rx, ry, w, h; var fasa = 0; var dfasa = 30; var s = 70; var z = 100; var fi = new Array(6); var rgb = new Array( new Array(255, 0, 0), new Array( 0, 0, 255), new Array( 0, 255, 0), new Array(255, 0, 255), new Array(255, 255, 0), new Array( 0, 255, 255)); var x,y; function GetXY(angle){ x = rx*Math.cos(angle)+x0; y = ry*Math.sin(angle)+y0 } function NewScene(){ var fltr = obj.filters.light; for (var i=0; i<6; i++){ GetXY(fi[i]); fltr.addPoint(x, y, z, rgb[i][0], rgb[i][1], rgb[i][2], s); } } function MoveLights(fs){ var fltr = obj.filters.light; fsrad=fs*Math.PI/180; for (var i=0; i<6; i++){ GetXY(fi[i]+fsrad); fltr.moveLight(i, x, y, z, 1); } } function next(){ fasa+=dfasa; if (fasa> 360) fasa-=360; for (var i=0; i<6; i++){ MoveLights(fasa); window.status=""+fasa; } } function Init(){ w=obj.style.pixelWidth; h=obj.style.pixelHeight; x0 = w/2; y0 = h/2; rx = 3*x0/4; ry = 3*y0/4; for (var i=0; i<6; i++) fi[i] = i*60.0*Math.PI/180.0; NewScene(); timer=setInterval("next()",500); } </script> <div id=obj style="overflow:hidden; width:300; height:300; filter:light();"> <span style="width:300; height:300; background-color:blue; color:yellow; font-size:16pt; text-align:center;"> <b>Пример демонстрации фильтра light().<br> После инициации фильтра обработчик таймера меняет положения точечных источников, расположенных по окружности, каждые полсекунды, сдвигая их по окружности на 30<sup>o</sup>. </b></span> </div> </body> </html>