színes kör
<script> var xLayerNo=0; function xLayer(newLayer, x, y, w) { if(x==null)x=0; if(y==null)y=0; if(w==null)w=100; if(document.layers) { if(typeof newLayer == "string") { this.layer=new Layer(w); this.layer.document.open(); this.layer.document.write(newLayer); this.layer.document.close(); } else this.layer=newLayer;
this.layer.moveTo(x,y); this.images=this.layer.document.images; } else if(document.all) { var Xname; if(typeof newLayer == "string") { xName="xLayer" + xLayerNo++; var txt = "<DIV ID='" + xName + "' STYLE=\"position:absolute;" + "left:" + x + ";" + "top:" + y + ";" + "width:" + w + ";" + "visibility:hidden\">" + newLayer + "</DIV>";
document.body.insertAdjacentHTML("BeforeEnd",txt); } else xName=newLayer.id;
this.content = document.all[xName]; this.layer = document.all[xName].style; this.images = document.images; } else if (document.getElementById) { /*** Add Netscape 6.0 support (NOTE: This may work in I.E. 5+. Will have to test***/
var newDiv;
if(typeof newLayer == "string") { var xName="xLayer" + xLayerNo++;
var txt = "" + "position:absolute;" + "left:" + x + "px;" + "top:" + y + "px;" + "width:" + w + "px;" + "visibility:hidden";
var newRange = document.createRange();
newDiv = document.createElement("DIV"); newDiv.setAttribute("style",txt); newDiv.setAttribute("id", xName);
document.body.appendChild(newDiv);
newRange.setStartBefore(newDiv); strFrag = newRange.createContextualFragment(newLayer); newDiv.appendChild(strFrag); } else newDiv = newLayer;
this.content = newDiv; this.layer = newDiv.style; this.images = document.images; }
return(this); }
function xLayerFromObj(theObj) { if(document.layers) return(new xLayer(document.layers[theObj])); else if(document.all) return(new xLayer(document.all[theObj])); else if(document.getElementById) return(new xLayer(document.getElementById(theObj))); }
if(navigator.appName.indexOf("Netscape") != -1 && !document.getElementById) { var eventmasks = { onabort:Event.ABORT, onblur:Event.BLUR, onchange:Event.CHANGE, onclick:Event.CLICK, ondblclick:Event.DBLCLICK, ondragdrop:Event.DRAGDROP, onerror:Event.ERROR, onfocus:Event.FOCUS, onkeydown:Event.KEYDOWN, onkeypress:Event.KEYPRESS, onkeyup:Event.KEYUP, onload:Event.LOAD, onmousedown:Event.MOUSEDOWN, onmousemove:Event.MOUSEMOVE, onmouseout:Event.MOUSEOUT, onmouseover:Event.MOUSEOVER, onmouseup:Event.MOUSEUP, onmove:Event.MOVE, onreset:Event.RESET, onresize:Event.RESIZE, onselect:Event.SELECT, onsubmit:Event.SUBMIT, onunload:Event.UNLOAD };
/**** START prototypes for NS ***/ xLayer.prototype.moveTo = function(x,y) { this.layer.moveTo(x,y); } xLayer.prototype.moveBy = function(x,y) { this.layer.moveBy(x,y); } xLayer.prototype.show = function() { this.layer.visibility = "show"; } xLayer.prototype.hide = function() { this.layer.visibility = "hide"; } xLayer.prototype.setzIndex = function(z) { this.layer.zIndex = z; } xLayer.prototype.setBgColor = function(color) { this.layer.bgColor = color; } xLayer.prototype.setBgImage = function(image) { this.layer.background.src = image; } xLayer.prototype.getX = function() { return this.layer.left; } xLayer.prototype.getY = function() { return this.layer.top; } xLayer.prototype.getWidth = function() { return this.layer.width; } xLayer.prototype.getHeight = function() { return this.layer.height; } xLayer.prototype.getzIndex = function() { return this.layer.zIndex; } xLayer.prototype.isVisible = function() { return this.layer.visibility == "show"; } xLayer.prototype.setContent = function(xHtml) { this.layer.document.open(); this.layer.document.write(xHtml); this.layer.document.close(); }
xLayer.prototype.clip = function(x1,y1, x2,y2) { this.layer.clip.top =y1; this.layer.clip.left =x1; this.layer.clip.bottom =y2; this.layer.clip.right =x2; } xLayer.prototype.addEventHandler = function(eventname, handler) { this.layer.captureEvents(eventmasks[eventname]); var xl = this; this.layer[eventname] = function(event) { return handler(xl, event.type, event.x, event.y, event.which, event.which, ((event.modifiers & Event.SHIFT_MASK) != 0), ((event.modifiers & Event.CTRL_MASK) != 0), ((event.modifiers & Event.ALT_MASK) != 0)); } }
/*** END NS ***/ } else if(document.all) { /*** START prototypes for IE ***/ xLayer.prototype.moveTo = function(x,y) { this.layer.pixelLeft = x; this.layer.pixelTop = y; } xLayer.prototype.moveBy = function(x,y) { this.layer.pixelLeft += x; this.layer.pixelTop += y; } xLayer.prototype.show = function() { this.layer.visibility = "visible"; } xLayer.prototype.hide = function() { this.layer.visibility = "hidden"; } xLayer.prototype.setzIndex = function(z) { this.layer.zIndex = z; } xLayer.prototype.setBgColor = function(color) { this.layer.backgroundColor = color; } xLayer.prototype.setBgImage = function(image) { this.layer.backgroundImage = image; } xLayer.prototype.setContent = function(xHtml) { this.content.innerHTML=xHtml; } xLayer.prototype.getX = function() { return this.layer.pixelLeft; } xLayer.prototype.getY = function() { return this.layer.pixelTop; } xLayer.prototype.getWidth = function() { return this.layer.pixelWidth; } xLayer.prototype.getHeight = function() { return this.layer.pixelHeight; } xLayer.prototype.getzIndex = function() { return this.layer.zIndex; } xLayer.prototype.isVisible = function() { return this.layer.visibility == "visible"; } xLayer.prototype.clip = function(x1,y1, x2,y2) { this.layer.clip="rect("+y1+" "+x2+" "+y2+" "+x1+")"; this.layer.pixelWidth=x2; this.layer.pixelHeight=y2; this.layer.overflow="hidden"; } xLayer.prototype.addEventHandler = function(eventName, handler) { var xl = this; this.content[eventName] = function() { var e = window.event; e.cancelBubble = true; return handler(xl, e.type, e.x, e.y, e.button, e.keyCode, e.shiftKey, e.ctrlKey, e.altKey); } } /*** END IE ***/ } else if (document.getElementById) { /*** W3C (NS 6) ***/ xLayer.prototype.moveTo = function(x,y) { this.layer.left = x+"px"; this.layer.top = y+"px"; } xLayer.prototype.moveBy = function(x,y) { this.moveTo(this.getX()+x, this.getY()+y); } xLayer.prototype.show = function() { this.layer.visibility = "visible"; } xLayer.prototype.hide = function() { this.layer.visibility = "hidden"; } xLayer.prototype.setzIndex = function(z) { this.layer.zIndex = z; } xLayer.prototype.setBgColor = function(color) { this.layer.backgroundColor = color; } xLayer.prototype.setBgImage = function(image) { this.layer.backgroundImage = image; } xLayer.prototype.getX = function() { return parseInt(this.layer.left); } xLayer.prototype.getY = function() { return parseInt(this.layer.top); } xLayer.prototype.getWidth = function() { return parseInt(this.layer.width); } xLayer.prototype.getHeight = function() { return parseInt(this.layer.height); } xLayer.prototype.getzIndex = function() { return this.layer.zIndex; } xLayer.prototype.isVisible = function() { return this.layer.visibility == "visible"; } xLayer.prototype.clip = function(x1,y1, x2,y2) { this.layer.clip="rect("+y1+" "+x2+" "+y2+" "+x1+")"; this.layer.width=x2 + "px"; this.layer.height=y2+ "px"; this.layer.overflow="hidden"; } xLayer.prototype.addEventHandler = function(eventName, handler) { var xl = this; this.content[eventName] = function(e) { e.cancelBubble = true; return handler(xl, e.type, e.pageX, e.pageY, e.button, e.keyCode, e.shiftKey, e.ctrlKey, e.altKey); } } xLayer.prototype.setContent = function(xHtml) { var newRange = document.createRange(); newRange.setStartBefore(this.content);
while (this.content.hasChildNodes()) this.content.removeChild(this.content.lastChild);
var strFrag = newRange.createContextualFragment(xHtml); this.content.appendChild(strFrag); }
} else { xLayer.prototype.moveTo = function(x,y) { } xLayer.prototype.moveBy = function(x,y) { } xLayer.prototype.show = function() { } xLayer.prototype.hide = function() { } xLayer.prototype.setzIndex = function(z) { } xLayer.prototype.setBgColor = function(color) { } xLayer.prototype.setBgImage = function(image) { } xLayer.prototype.getX = function() { return 0; } xLayer.prototype.getY = function() { return 0; } xLayer.prototype.getWidth = function() { return 0; } xLayer.prototype.getHeight = function() { return 0; } xLayer.prototype.getzIndex = function() { return 0; } xLayer.prototype.isVisible = function() { return false; } xlayer.prototype.setContent = function(xHtml) { } } </script> <script> function xMouse() { this.X = 0; this.Y = 0;
if(navigator.appName.indexOf("Netscape") != -1) { this.getMouseXY = function (evnt) { document.ml.X=evnt.pageX; document.ml.Y=evnt.pageY; }
window.captureEvents(Event.MOUSEMOVE); window.onmousemove = this.getMouseXY;
document.ml = this; } else if(document.all) { if(navigator.appVersion.indexOf("MSIE 5.") != -1) this.getMouseXY = function () { document.ml.X = event.x + document.body.scrollLeft; document.ml.Y = event.y + document.body.scrollTop; } else this.getMouseXY = function () { document.ml.X = event.x; document.ml.Y = event.y; }
document.ml = this; document.onmousemove = this.getMouseXY; } return(this); } </script>
<script> var m = new xMouse();
var oneDeg=(2*Math.PI)/360;
/*** verander hieronder de variabelen voor een ander effect ***/ var Radius = 1; var NumStars=64; var NumSteps=5; var StepAngle=(11.25)*oneDeg;
var StarObject=new Array();
var hexDigit=new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"); function dec2hex(dec) { return(hexDigit[dec>>4]+hexDigit[dec&15]); } function hex2dec(hex) { return(parseInt(hex,16)) }
function CreateStar() {
this.layer = new xLayer("X", 100, 100, 10); this.currAngle = 0; this.step = 0; this.x = 100; this.y = 100; return (this); }
/*** Choose a random pinwheel configuration ***/ function restart() { var num=Math.floor(Math.random()*4); for(i=0;i<NumStars;i++) StarObject[i].layer.hide();
if(num==0){ Radius = 1; NumStars=32; NumSteps=16; StepAngle=(25)*oneDeg; }
for(i=0 ; i<NumStars; i++) { var s=StarObject[i]; s.currAngle = (StepAngle*i); s.step = (i%NumSteps); s.x=m.X; s.y=m.Y; }
for(i=0;i<NumStars;i++) StarObject[i].layer.show();
} function start() {
for(i=0 ; i<NumStars; i++) { StarObject[i]=new CreateStar(); StarObject[i].currAngle = (StepAngle*i); StarObject[i].step = (i%NumSteps); StarObject[i].layer.clip(0,0,2,2); StarObject[i].layer.setBgColor("red"); }
for(i=0 ; i<NumStars ; i++) StarObject[i].layer.show();
/*** Remove this if you only 1 type of pinwheel ***/ Rotate(); }
function changeColour(s) { var colour="";
r2= Math.floor(Math.random()*2)*255; g2= Math.floor(Math.random()*2)*255; b2= Math.floor(Math.random()*2)*255;
if(r2==0 && g2==0 && b2==0) r2=255;
colour = "#" + dec2hex(r2) + dec2hex(g2) + dec2hex(b2); s.layer.setBgColor(colour);
s.x=m.X; s.y=m.Y; } function Rotate() { var x; var y; for (i = 0 ; i < NumStars ; i++ ) { var s=StarObject[i]; if(s.step==0) changeColour(s);
var angle = s.currAngle; var rad = s.step*Radius + 10; x = s.x + rad*Math.cos(angle); y = s.y + rad*Math.sin(angle);
s.layer.moveTo(x,y);
s.step = (s.step+1)%NumSteps; }
setTimeout("Rotate()", 30); }
function handle_resize() { if(document.layers) start(); }
window.onresize=handle_resize; window.onload=start;
</script>
|