Dynaverse.net
Off Topic => Ten Forward => Topic started by: toasty0 on January 08, 2005, 10:47:38 am
-
In keeping with nagging you to learn, Steve, I have come up with a project for you.
I think for you learn you should look at what others have done, then change it a little to better understand the concepts behind the coding. So, look at this neat little thing (http://www.suite101.com/files/mysites/AskAlice/Clock.htm). All I want you do to is change the color from black to red.
Good luck and have fun. :)
-
You better get this right Stephen. Braindead me even knows
the answer to this. ;D
-
Just an FYI, Firefox apparently doesnt appreciate that site. I had to use IE to see it.
-
Give me some time to Go over the code, and I'll see what I can do.
<!-- saved from url=(0022)http://internet.e-mail -->
<!-- saved from url=(0022)http://internet.e-mail -->
<!-- saved from url=(0022)http://internet.e-mail -->
<!-- saved from url=(0022)http://internet.e-mail -->
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title></title>
</head>
<body>
<script language="JavaScript"><!--
dCol='000000';//date colour.
fCol='000000';//face colour.
sCol='000000';//seconds colour.
mCol='000000';//minutes colour.
hCol='000000';//hours colour.
ClockHeight=40;
ClockWidth=40;
ClockFromMouseY=0;
ClockFromMouseX=100;
//Alter nothing below! Alignments will be lost!
d=new Array("SUNDAY","MONDAY","TUESDAY","WEDNESDAY","THURSDAY","FRIDAY","SATURDAY");
m=new Array("JANUARY","FEBRUARY","MARCH","APRIL","MAY","JUNE","JULY","AUGUST","SEPTEMBER","OCTOBER","NOVEMBER","DECEMBER");
date=new Date();
day=date.getDate();
year=date.getYear();
if (year < 2000) year=year+1900;
TodaysDate=" "+d[date.getDay()]+" "+day+" "+m[date.getMonth()]+" "+year;
D=TodaysDate.split('');
H='...';
H=H.split('');
M='....';
M=M.split('');
S='.....';
S=S.split('');
Face='1 2 3 4 5 6 7 8 9 10 11 12';
font='Arial';
size=1;
speed=0.5;
ns=(document.layers);
ie=(document.all);
Face=Face.split(' ');
n=Face.length;
a=size*10;
ymouse=0;
xmouse=0;
scrll=0;
props="<font face="+font+" size="+size+" color="+fCol+"><B>";
props2="<font face="+font+" size="+size+" color="+dCol+"><B>";
Split=360/n;
Dsplit=360/D.length;
HandHeight=ClockHeight/4.5
HandWidth=ClockWidth/4.5
HandY=-7;
HandX=-2.5;
scrll=0;
step=0.06;
currStep=0;
y=new Array();x=new Array();Y=new Array();X=new Array();
for (i=0; i < n; i++){y=0;x=0;Y=0;X=0}
Dy=new Array();Dx=new Array();DY=new Array();DX=new Array();
for (i=0; i < D.length; i++){Dy=0;Dx=0;DY=0;DX=0}
if (ns){
for (i=0; i < D.length; i++)
document.write('<layer name="nsDate'+i+'" top=0 left=0 height='+a+' width='+a+'><center>'+props2+D+'</font></center></layer>');
for (i=0; i < n; i++)
document.write('<layer name="nsFace'+i+'" top=0 left=0 height='+a+' width='+a+'><center>'+props+Face+'</font></center></layer>');
for (i=0; i < S.length; i++)
document.write('<layer name=nsSeconds'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3 color='+sCol+'><center><b>'+S+'</b></center></font></layer>');
for (i=0; i < M.length; i++)
document.write('<layer name=nsMinutes'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3 color='+mCol+'><center><b>'+M+'</b></center></font></layer>');
for (i=0; i < H.length; i++)
document.write('<layer name=nsHours'+i+' top=0 left=0 width=15 height=15><font face=Arial size=3 color='+hCol+'><center><b>'+H+'</b></center></font></layer>');
}
if (ie){
document.write('<div id="Od" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < D.length; i++)
document.write('<div id="ieDate" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';text-align:center">'+props2+D+'</B></font></div>');
document.write('</div></div>');
document.write('<div id="Of" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < n; i++)
document.write('<div id="ieFace" style="position:absolute;top:0px;left:0;height:'+a+';width:'+a+';text-align:center">'+props+Face+'</B></font></div>');
document.write('</div></div>');
document.write('<div id="Oh" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < H.length; i++)
document.write('<div id="ieHours" style="position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:'+hCol+';text-align:center;font-weight:bold">'+H+'</div>');
document.write('</div></div>');
document.write('<div id="Om" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < M.length; i++)
document.write('<div id="ieMinutes" style="position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:'+mCol+';text-align:center;font-weight:bold">'+M+'</div>');
document.write('</div></div>')
document.write('<div id="Os" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < S.length; i++)
document.write('<div id="ieSeconds" style="position:absolute;width:16px;height:16px;font-family:Arial;font-size:16px;color:'+sCol+';text-align:center;font-weight:bold">'+S+'</div>');
document.write('</div></div>')
}
(ns)?window.captureEvents(Event.MOUSEMOVE):0;
function Mouse(evnt){
ymouse = (ns)?evnt.pageY+ClockFromMouseY-(window.pageYOffset):event.y+ClockFromMouseY;
xmouse = (ns)?evnt.pageX+ClockFromMouseX:event.x+ClockFromMouseX;
}
(ns)?window.onMouseMove=Mouse:document.onmousemove=Mouse;
function ClockAndAssign(){
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs/30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins/30;
hr = time.getHours();
hrs = -1.575 + Math.PI * hr/6+Math.PI*parseInt(time.getMinutes())/360;
if (ie){
Od.style.top=window.document.body.scrollTop;
Of.style.top=window.document.body.scrollTop;
Oh.style.top=window.document.body.scrollTop;
Om.style.top=window.document.body.scrollTop;
Os.style.top=window.document.body.scrollTop;
}
for (i=0; i < n; i++){
var F=(ns)?document.layers['nsFace'+i]:ieFace.style;
F.top=y + ClockHeight*Math.sin(-1.0471 + i*Split*Math.PI/180)+scrll;
F.left=x + ClockWidth*Math.cos(-1.0471 + i*Split*Math.PI/180);
}
for (i=0; i < H.length; i++){
var HL=(ns)?document.layers['nsHours'+i]:ieHours.style;
HL.top=y+HandY+(i*HandHeight)*Math.sin(hrs)+scrll;
HL.left=x+HandX+(i*HandWidth)*Math.cos(hrs);
}
for (i=0; i < M.length; i++){
var ML=(ns)?document.layers['nsMinutes'+i]:ieMinutes.style;
ML.top=y+HandY+(i*HandHeight)*Math.sin(min)+scrll;
ML.left=x+HandX+(i*HandWidth)*Math.cos(min);
}
for (i=0; i < S.length; i++){
var SL=(ns)?document.layers['nsSeconds'+i]:ieSeconds.style;
SL.top=y+HandY+(i*HandHeight)*Math.sin(sec)+scrll;
SL.left=x+HandX+(i*HandWidth)*Math.cos(sec);
}
for (i=0; i < D.length; i++){
var DL=(ns)?document.layers['nsDate'+i]:ieDate.style;
DL.top=Dy + ClockHeight*1.5*Math.sin(currStep+i*Dsplit*Math.PI/180)+scrll;
DL.left=Dx + ClockWidth*1.5*Math.cos(currStep+i*Dsplit*Math.PI/180);
}
currStep-=step;
}
function Delay(){
scrll=(ns)?window.pageYOffset:0;
Dy[0]=Math.round(DY[0]+=((ymouse)-DY[0])*speed);
Dx[0]=Math.round(DX[0]+=((xmouse)-DX[0])*speed);
for (i=1; i < D.length; i++){
Dy=Math.round(DY+=(Dy[i-1]-DY)*speed);
Dx=Math.round(DX+=(Dx[i-1]-DX)*speed);
}
y[0]=Math.round(Y[0]+=((ymouse)-Y[0])*speed);
x[0]=Math.round(X[0]+=((xmouse)-X[0])*speed);
for (i=1; i < n; i++){
y=Math.round(Y+=(y[i-1]-Y)*speed);
x=Math.round(X+=(x[i-1]-X)*speed);
}
ClockAndAssign();
setTimeout('Delay()',40);
}
if (ns||ie)window.onload=Delay;
// --></script>
<p><br>
<br>
<font color="#0000FF">Isn't this is amazing?</font><br>
I don't know who wrote this code, but it sure is clever.<br>
Move the mouse around and watch what happens.</p>
</body>
</html>
Stephen
-
Ok First two things I would change would be the Clock size, But that would be Pretty easy.
Secondly, I would change "Clever " To "neato."
I'm not Familiar enough to get into the part It says don't change, But I'll try and Figure It out, and see If something could be changed.
stephen
-
Just an FYI, Firefox apparently doesnt appreciate that site. I had to use IE to see it.
LOL...see, the freakin' browser isn't even Javascript compliant. *sheesh*
-
hmm, I'd say all you need to do is change the colors on the following
dCol='FF0000';//date colour.
fCol='000000';//face colour.
sCol='000000';//seconds colour.
mCol='000000';//minutes colour.
hCol='000000';//hours colour.
ClockHeight=40;
ClockWidth=40;
ClockFromMouseY=0;
ClockFromMouseX=100;
So there we changed the date color overall...
So to change the rest you could do it in the bright red or
in
A52A2A
a darker red.
PS: No I haven't tried it to see if it works, just pieced together what little I know of HTML and made an educated guess.
-
Just an FYI, Firefox apparently doesnt appreciate that site. I had to use IE to see it.
LOL...see, the freakin' browser isn't even Javascript compliant. *sheesh*
Perhaps.
It could be one of the ways in which Microsoft plays fast and loose with specifications. One of the problems with displaying pages created for IE is that Microsoft has coded IE in ways that allow it to display things that don't comply with various specs. Others trying to duplicate the IE misbehaviour have to guess and experiment to identify what was actually coded. In other words due to the way IE interprets the "standards" if people make mistakes it may still work. Other programs that actually are fully spec compliant won't display the erroroneous code properly.
This type of misbehaviour is one of the ways in which bugs are introduced to IE that allow malware to access your system.
If your going to complain about noncompliance with open specifications then Microsoft has a great deal for you to complain about. Ways in which they don't comply with specs and don't even document the non compliance which makes it hard for other products to compete with theirs. They of course feel that they have the right to change anything that isn't documented without warning, so if you do find a non documented feature and use it Microsoft can break your program with any update - then you get blamed. Of course those undocumented features that they use don't get changed that way without updating other Microsoft programs at the same time.
-
Just an FYI, Firefox apparently doesnt appreciate that site. I had to use IE to see it.
LOL...see, the freakin' browser isn't even Javascript compliant. *sheesh*
Perhaps.
It could be one of the ways in which Microsoft plays fast and loose with specifications. One of the problems with displaying pages created for IE is that Microsoft has coded IE in ways that allow it to display things that don't comply with various specs. Others trying to duplicate the IE misbehaviour have to guess and experiment to identify what was actually coded. In other words due to the way IE interprets the "standards" if people make mistakes it may still work. Other programs that actually are fully spec compliant won't display the erroroneous code properly.
This type of misbehaviour is one of the ways in which bugs are introduced to IE that allow malware to access your system.
If your going to complain about noncompliance with open specifications then Microsoft has a great deal for you to complain about. Ways in which they don't comply with specs and don't even document the non compliance which makes it hard for other products to compete with theirs. They of course feel that they have the right to change anything that isn't documented without warning, so if you do find a non documented feature and use it Microsoft can break your program with any update - then you get blamed. Of course those undocumented features that they use don't get changed that way without updating other Microsoft programs at the same time.
LOL...ah shucks, I would say nary a word about FireFox if it wasn't for all them folks misleading everyone into thinking FireFox is a better, safer, *more* complaint browser. It is them I'm complaing about and not the browser, per se. Either they are too ignorant, too arrogant, or too dishonest to admit or inform about the shortcomings of Firefox...or, they are too caught up in their zealotry accept the fact that FireFox is nothing new, but in fact is an older broswer technology with new window dressing.
Jerry
-
does IE have a built-in pop-up blocker?
does Firefox let in more bugs than the Vegas redlight district?
I'll let you ponder those for a while.
-
if it wasn't for all them folks misleading everyone into thinking FireFox is a better, safer, *more* complaint browser.
Jerry
Like the U.S government?
-
. ...In other words due to the way IE interprets the "standards" if people make mistakes it may still work. Other programs that actually are fully spec compliant won't display the erroroneous code properly. ...
actually making IE work even with mistakes makes sense. I would figure that this would allow IE to view almost any site (from the noob web designer to the more advanced) I definatly agree that it has so many holes that i'm happy it ain't a boat ;) but I don't think that the way it interprets the "standards" is all to blame, more on the part that its one of the most widly used browsers out there. that and i'm fairly cofident microsoft is lazy.... ;). Though I would almost want to think that if firefox managed to become the top dog, people would start looking for exploits in it (no matter how "perfect" it may be, i'm sure there are dozens of ways of exploiting it, just i ain' t the person to find them out..... )
-
if it wasn't for all them folks misleading everyone into thinking FireFox is a better, safer, *more* complaint browser.
Jerry
Like the U.S government?
*cough* are you speaking about the same folks who prevented 9/11? and brought us the stellar education system we have today?*cough*