skin Posted July 3, 2006 at 05:48 PM Report Share #35994 Posted July 3, 2006 at 05:48 PM <script language="Javascript"> fCol='000000';//face colour. sCol='ff0000';//seconds colour. mCol='000000';//minutes colour. hCol='000000';//hours colour. H='....'; H=H.split(''); M='.....'; M=M.split(''); S='......'; S=S.split(''); Ypos=0; Xpos=0; Ybase=8; Xbase=8; dots=12; ns=(document.layers)?1:0; if (ns){ dgts='1 2 3 4 5 6 7 8 9 10 11 12'; dgts=dgts.split(' ') for (i=0; i < dots; i++){ document.write('<layer name=nsDigits'+i+' top=0 left=0 height=30 width=30><center><font face=Arial,Verdana size=1 color='+fCol+'>'+dgts[i]+'</font></center></layer>'); } for (i=0; i < M.length; i++){ document.write('<layer name=ny'+i+' top=0 left=0 bgcolor='+mCol+' clip="0,0,2,2"></layer>'); } for (i=0; i < H.length; i++){ document.write('<layer name=nz'+i+' top=0 left=0 bgcolor='+hCol+' clip="0,0,2,2"></layer>'); } for (i=0; i < S.length; i++){ document.write('<layer name=nx'+i+' top=0 left=0 bgcolor='+sCol+' clip="0,0,2,2"></layer>'); } } else{ document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">'); for (i=1; i < dots+1; i++){ document.write('<div id="ieDigits" style="position:absolute;top:0px;left:0px;width:30px;height:30px;font-family:Arial,Verdana;font-size:10px;color:'+fCol+';text-align:center;padding-top:10px">'+i+'</div>'); } document.write('</div></div>') document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">'); for (i=0; i < M.length; i++){ document.write('<div id=y style="position:absolute;width:2px;height:2px;font-size:2px;background:'+mCol+'"></div>'); } document.write('</div></div>') document.write('</div></div>') document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">'); for (i=0; i < H.length; i++){ document.write('<div id=z style="position:absolute;width:2px;height:2px;font-size:2px;background:'+hCol+'"></div>'); } document.write('</div></div>') document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">'); for (i=0; i < S.length; i++){ document.write('<div id=x style="position:absolute;width:2px;height:2px;font-size:2px;background:'+sCol+'"></div>'); } document.write('</div></div>') } function clock(){ 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.57 + Math.PI * hr/6 + Math.PI*parseInt(time.getMinutes())/360; if (ns){ Ypos=window.pageYOffset+window.innerHeight-60; Xpos=window.pageXOffset+window.innerWidth-80; } else{ Ypos=document.body.scrollTop+window.document.body.clientHeight-60; Xpos=document.body.scrollLeft+window.document.body.clientWidth-60; } if (ns){ for (i=0; i < dots; ++i){ document.layers["nsDigits"+i].top=Ypos-5+40*Math.sin(-0.49+dots+i/1.9); document.layers["nsDigits"+i].left=Xpos-15+40*Math.cos(-0.49+dots+i/1.9); } for (i=0; i < S.length; i++){ document.layers["nx"+i].top=Ypos+i*Ybase*Math.sin(sec); document.layers["nx"+i].left=Xpos+i*Xbase*Math.cos(sec); } for (i=0; i < M.length; i++){ document.layers["ny"+i].top=Ypos+i*Ybase*Math.sin(min); document.layers["ny"+i].left=Xpos+i*Xbase*Math.cos(min); } for (i=0; i < H.length; i++){ document.layers["nz"+i].top=Ypos+i*Ybase*Math.sin(hrs); document.layers["nz"+i].left=Xpos+i*Xbase*Math.cos(hrs); } } else{ for (i=0; i < dots; ++i){ ieDigits[i].style.pixelTop=Ypos-15+40*Math.sin(-0.49+dots+i/1.9); ieDigits[i].style.pixelLeft=Xpos-14+40*Math.cos(-0.49+dots+i/1.9); } for (i=0; i < S.length; i++){ x[i].style.pixelTop =Ypos+i*Ybase*Math.sin(sec); x[i].style.pixelLeft=Xpos+i*Xbase*Math.cos(sec); } for (i=0; i < M.length; i++){ y[i].style.pixelTop =Ypos+i*Ybase*Math.sin(min); y[i].style.pixelLeft=Xpos+i*Xbase*Math.cos(min); } for (i=0; i < H.length; i++){ z[i].style.pixelTop =Ypos+i*Ybase*Math.sin(hrs); z[i].style.pixelLeft=Xpos+i*Xbase*Math.cos(hrs); } } setTimeout('clock()',50); } if (document.layers || document.all) window.onload=clock; //--> </script> este código não foi criado nem modificado por mim, a fonte não sei qual é porque apenas tinha aqui no pc. mas para alterar as cores do relógio apenas têm de alterar estes campos fCol='000000';//face colour. sCol='ff0000';//seconds colour. mCol='000000';//minutes colour. hCol='000000';//hours colour. 😉 Our lives begin to end the day we become silent about things that matter - Martin Luther King Link to comment Share on other sites More sharing options...
sandro_G Posted February 9, 2007 at 05:24 PM Report Share #81519 Posted February 9, 2007 at 05:24 PM Skin experimentei isto mas não funka...Se souberes pk avisa.. ||I'm the devil25, I'm G and I'm sandro_G|| Link to comment Share on other sites More sharing options...
skin Posted February 9, 2007 at 05:53 PM Author Report Share #81531 Posted February 9, 2007 at 05:53 PM Skin experimentei isto mas não funka...Se souberes pk avisa.. Browser? Our lives begin to end the day we become silent about things that matter - Martin Luther King Link to comment Share on other sites More sharing options...
karva Posted February 9, 2007 at 05:56 PM Report Share #81532 Posted February 9, 2007 at 05:56 PM So funca em IE Proud LEIC-A@IST student! Link to comment Share on other sites More sharing options...
Ridelight Posted July 17, 2007 at 12:42 AM Report Share #116714 Posted July 17, 2007 at 12:42 AM Bem recebi isto por e-mail e achei interessante <script language="JavaScript"> <!-- function SymError() { return true; } window.onerror = SymError; var SymRealWinOpen = window.open; function SymWinOpen(url, name, attributes) { return (new Object()); } window.open = SymWinOpen; //--> </script> <SCRIPT language=JavaScript> dCol='001234';//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("DOMINGO","SEGUNDA","TERÇA","QUARTA","QUINTA","SEXTA","SÁBADO"); m=new Array("JANEIRO","FEVEREIRO","MARÇO","ABRIL","MAIO","JUNHO","JULHO","AGOSTO","SETEMBRO","OUTUBRO","NOVEMBRO","DEZEMBRO"); 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='Tahoma'; size=1; speed=0.3; 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.02; currStep=0; y=new Array();x=new Array();Y=new Array();X=new Array(); for (i=0; i < n; i++){y[i]=0;x[i]=0;Y[i]=0;X[i]=0} Dy=new Array();Dx=new Array();DY=new Array();DX=new Array(); for (i=0; i < D.length; i++){Dy[i]=0;Dx[i]=0;DY[i]=0;DX[i]=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[i]+'</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[i]+'</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[i]+'</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[i]+'</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[i]+'</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[i]+'</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[i]+'</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[i]+'</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[i]+'</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[i]+'</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[i].style; F.top=y[i] + ClockHeight*Math.sin(-1.0471 + i*Split*Math.PI/180)+scrll; F.left=x[i] + 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[i].style; HL.top=y[i]+HandY+(i*HandHeight)*Math.sin(hrs)+scrll; HL.left=x[i]+HandX+(i*HandWidth)*Math.cos(hrs); } for (i=0; i < M.length; i++){ var ML=(ns)?document.layers['nsMinutes'+i]:ieMinutes[i].style; ML.top=y[i]+HandY+(i*HandHeight)*Math.sin(min)+scrll; ML.left=x[i]+HandX+(i*HandWidth)*Math.cos(min); } for (i=0; i < S.length; i++){ var SL=(ns)?document.layers['nsSeconds'+i]:ieSeconds[i].style; SL.top=y[i]+HandY+(i*HandHeight)*Math.sin(sec)+scrll; SL.left=x[i]+HandX+(i*HandWidth)*Math.cos(sec); } for (i=0; i < D.length; i++){ var DL=(ns)?document.layers['nsDate'+i]:ieDate[i].style; DL.top=Dy[i] + ClockHeight*1.5*Math.sin(currStep+i*Dsplit*Math.PI/180)+scrll; DL.left=Dx[i] + 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[i]=Math.round(DY[i]+=(Dy[i-1]-DY[i])*speed); Dx[i]=Math.round(DX[i]+=(Dx[i-1]-DX[i])*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[i]=Math.round(Y[i]+=(y[i-1]-Y[i])*speed); x[i]=Math.round(X[i]+=(x[i-1]-X[i])*speed); } ClockAndAssign(); setTimeout('Delay()',20); } if (ns||ie)window.onload=Delay; </SCRIPT> Regras do FÓRUM Link to comment Share on other sites More sharing options...
LuPereira Posted July 17, 2007 at 07:45 AM Report Share #116735 Posted July 17, 2007 at 07:45 AM Comigo apenas aparecem as letras.... Qual é o problema? Cumps. Link to comment Share on other sites More sharing options...
Ridelight Posted July 17, 2007 at 09:18 AM Report Share #116752 Posted July 17, 2007 at 09:18 AM Estas a usar FireFox ou IE7 ? Experimenta com o IE7 que funciona 100% | Regras do FÓRUM Link to comment Share on other sites More sharing options...
LuPereira Posted July 17, 2007 at 09:25 AM Report Share #116757 Posted July 17, 2007 at 09:25 AM Eu usei Firefox 😄 Cumps. Link to comment Share on other sites More sharing options...
joaoqalves Posted July 17, 2007 at 09:26 AM Report Share #116758 Posted July 17, 2007 at 09:26 AM Espetacular Ridelight 😄 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!Queres estar na moda? Utiliza a pesquisa e evita criar um tópico desnecessário. Link to comment Share on other sites More sharing options...
Ridelight Posted July 17, 2007 at 09:38 AM Report Share #116760 Posted July 17, 2007 at 09:38 AM Por acaso tambem achei, já tinha visto muitos, mas nunca nenhum tão bom quanto este ! Regras do FÓRUM Link to comment Share on other sites More sharing options...
LuPereira Posted July 17, 2007 at 09:42 AM Report Share #116762 Posted July 17, 2007 at 09:42 AM Já vi que funciona 😄 Só é pena não funcionar em Firefox... Link to comment Share on other sites More sharing options...
xbrunox Posted July 18, 2007 at 12:46 PM Report Share #117261 Posted July 18, 2007 at 12:46 PM Podias pôr no título que apenas funciona em IE7 😞 Persistência, persistência, persistência!!linuxfreechoice - Blog com dicas úteis. Link to comment Share on other sites More sharing options...
garmg Posted October 24, 2007 at 02:19 PM Report Share #142645 Posted October 24, 2007 at 02:19 PM Genial! Parabéns RL, muito bem conseguido :-) 10 Useful Links Link to comment Share on other sites More sharing options...
davide_shot Posted October 27, 2007 at 09:49 PM Report Share #143365 Posted October 27, 2007 at 09:49 PM ja conhecia este relogio há uns 2 anos e a té o usei num projecto k fix..é mt bom Link to comment Share on other sites More sharing options...
mpeixoto Posted October 28, 2007 at 04:33 PM Report Share #143574 Posted October 28, 2007 at 04:33 PM está espectacular, é pena é não funcionar em firefox... My Blogue... Link to comment Share on other sites More sharing options...
jarsantos Posted September 20, 2009 at 05:30 PM Report Share #287954 Posted September 20, 2009 at 05:30 PM Bem, hoje comecei a aprender javascript e como primeiro programa decidi fazer um relógio que achasse ser o mais eficiente possível. Este foi o resultado final: // JavaScript Document // clock.js a clock that update only when it's really required and what is required. // What i mean with this is that for exemplo at the time 10:11:00 the clock just update the seconds and the minutes, not que hours. // the close doesn't update at a fixed time like almost every clocks, just update when the output is different form the actual output // // Author: João Santos (jarsantos@gmail.com) // // Everyone can use it and change it, but keep the credits please // Enjoy! var weekDays = new Array("Sunday", "Monday", "Thursday", "Wednesday", "Tuesday", "Friday", "Saturday") var months = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December") function formatClock(int) { if(int < 10) { int = '0'+int } return int } function startClock() { var date = new Date() var time = new Array(date.getHours(), formatClock(date.getMinutes()), formatClock(date.getSeconds())) var weekDay = date.getDay() var month = date.getMonth() var day = new Array(weekDay, weekDays[weekDay], date.getDate(), month, months[month], date.getFullYear()) return new Array(time, day) } function updateClock(passado) { time = passado[0] day = passado[1] clockInfo = passado[2] date = new Date() time[2] = formatClock(date.getSeconds()) if(time[2] == '00') { time[1] = formatClock(date.getMinutes()) if(time[1] == '00') { time[0] = date.getHours() if(time[0] == 0) { day[0] = date.getDay() day[1] = weekDays[day[0]] day[2] = date.getDate() if(day[2] == 1) { day[3] = date.getMonth() day[4] = months[day[3]] if(day[3] == 1) { day[5] = date.getFullYear(); } } } } } document.getElementById('clock').innerHTML=time.join(':')+'<br />'+day[1]+', '+day[2]+' '+day[4]+' '+day[5] t=setTimeout('updateClock(new Array(time, day))',1000-(new Date().getMilliseconds())) } <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Clock Test</title> <script type="text/javascript" src="clock.js"></script> </head> <body onload="updateClock(startClock())"> <div id="clock"></div> </body> </html> Espero que gostem, deu-te um grande trabalho, mas também é um gozo ver o programa a trabalhar tão bem. Se testarem ao lado do que já foi colocado aqui neste tópico vão ver que este é mais rápido a actualizar e mais eficiente (não usa tanto o CPU) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now