A CBE Programming Example
[ Start | Stop | Reset | Debug ]
Thanks to Germany for the initial code.
Get CBE at Cross-Browser.com
var // edit these when adding more spinners: ne = 4, // number of spinner elements cp = new Array('e','s','w','n'), // cardinal point for each spinner // edit these when changing overall behavior: a2 = 360, // radial distance for a spinner's slide tm = 8000, // slide time xr = 75, // x radius yr = 75, // y radius ss = 20, // spinner size // automatically calculated: bw = 2*xr+ss, // spinnerBox width bh = 2*yr+ss, // spinnerBox height dl = 360/ne, // radial distance between spinner elements a1 = 0; // for calculating start angle function windowOnload() { var i, e; for (i=0; i<ne; ++i) { e = document.getElementById('spinner'+i).cbe; e.sequence = new Array("ellipse("+xr+","+yr+",0,"+tm+","+a1+","+a2+")"); // e.sequence = new Array("ellipse("+xr+","+yr+",0,"+tm+","+a1+","+a2+")", "stopSequence()"); a1 += dl; a2 += dl; } window.cbe.addEventListener("resize", init, false); init(); } function init() { var i, e, m; cycle(false); with (document.getElementById('spinnerBox').cbe) { ele.style.border='1px solid #666'; background('#ccf'); resizeTo(bw,bh); //(cw,ch); moveTo(document.cbe.width()-width()-30, 30); show(); } for (i=0; i<ne; ++i) { with (document.getElementById('spinner'+i).cbe) { resizeTo(ss, ss); moveTo(cp[i]); show(); } } } function cycle(bStart) { var i, e; for (i=0; i<ne; ++i) { e = document.getElementById('spinner'+i).cbe; if (bStart) e.startSequence(); else e.stopSequence(); } }