+ Reply to Thread
Page 1 of 3 123 LastLast
Results 1 to 10 of 24
Like Tree1Likes

Thread: Javascript: Analog Clock

  1. #1
    Join Date
    Aug 2006
    Posts
    11,209
    Blog Entries
    6
    Rep Power
    101

    Javascript: Analog Clock

    This is the code for an analog clock once I found! But yesterday I saw it on littlefranciscan website

    Code:
    <p>                     <script language="JavaScript">
                               
                               //Analog clock script- By Kurt (kurt.grigg@virgin.net)
                               //Script featured on Dynamic Drive
                               //Visit http://www.dynamicdrive.com for this script and more
                               
                               fCol='444444'; //face colour.
                               sCol='FF0000'; //seconds colour.
                               mCol='444444'; //minutes colour.
                               hCol='444444'; //hours colour.
                               
                               Ybase=40; //Clock height.
                               Xbase=40; //Clock width.
                               
                               
                               H='...';
                               H=H.split('');
                               M='....';
                               M=M.split('');
                               S='.....';
                               S=S.split('');
                               NS4=(document.layers);
                               NS6=(document.getElementById&&!document.all);
                               IE4=(document.all);
                               Ypos=0;
                               Xpos=0;
                               dots=12;
                               Split=360/dots;
                               if (NS6){
                               for (i=1; i < dots+1; i++){
                               document.write('<div id="n6Digits'+i+'" style="position:absolute;top:0px;left:0px;width:30px;height:30px;font-family:Arial;font-size:10px;color:#'+fCol+';text-align:center;padding-top:10px">'+i+'</div>');
                               }
                               for (i=0; i < M.length; i++){
                               document.write('<div id="Ny'+i+'" style="position:absolute;top:0px;left:0px;width:2px;height:2px;font-size:2px;background:#'+mCol+'"></div>');
                               }
                               for (i=0; i < H.length; i++){
                               document.write('<div id="Nz'+i+'" style="position:absolute;top:0px;left:0px;width:2px;height:2px;font-size:2px;background:#'+hCol+'"></div>');
                               }
                               for (i=0; i < S.length; i++){
                               document.write('<div id="Nx'+i+'" style="position:absolute;top:0px;left:0px;width:2px;height:2px;font-size:2px;background:#'+sCol+'"></div>');
                               }
                               }
                               if (NS4){
                               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 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>');
                               }
                               }
                               if (IE4){
                               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;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 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 (NS6){
                               Ypos=window.pageYOffset+window.innerHeight-Ybase-25;
                               Xpos=window.pageXOffset+window.innerWidth-Xbase-30;
                               for (i=1; i < dots+1; i++){
                               document.getElementById("n6Digits"+i).style.top=Ypos-15+Ybase*Math.sin(-1.56 +i *Split*Math.PI/180)
                               document.getElementById("n6Digits"+i).style.left=Xpos-15+Xbase*Math.cos(-1.56 +i*Split*Math.PI/180)
                               }
                               for (i=0; i < S.length; i++){
                               document.getElementById("Nx"+i).style.top=Ypos+i*Ybase/4.1*Math.sin(sec);
                               document.getElementById("Nx"+i).style.left=Xpos+i*Xbase/4.1*Math.cos(sec);
                               }
                               for (i=0; i < M.length; i++){
                               document.getElementById("Ny"+i).style.top=Ypos+i*Ybase/4.1*Math.sin(min);
                               document.getElementById("Ny"+i).style.left=Xpos+i*Xbase/4.1*Math.cos(min);
                               }
                               for (i=0; i < H.length; i++){
                               document.getElementById("Nz"+i).style.top=Ypos+i*Ybase/4.1*Math.sin(hrs);
                               document.getElementById("Nz"+i).style.left=Xpos+i*Xbase/4.1*Math.cos(hrs);
                               }
                               }
                               if (NS4){
                               Ypos=window.pageYOffset+window.innerHeight-Ybase-20;
                               Xpos=window.pageXOffset+window.innerWidth-Xbase-30;
                               for (i=0; i < dots; ++i){
                               document.layers["nsDigits"+i].top=Ypos-5+Ybase*Math.sin(-1.045 +i*Split*Math.PI/180)
                               document.layers["nsDigits"+i].left=Xpos-15+Xbase*Math.cos(-1.045 +i*Split*Math.PI/180)
                               }
                               for (i=0; i < S.length; i++){
                               document.layers["nx"+i].top=Ypos+i*Ybase/4.1*Math.sin(sec);
                               document.layers["nx"+i].left=Xpos+i*Xbase/4.1*Math.cos(sec);
                               }
                               for (i=0; i < M.length; i++){
                               document.layers["ny"+i].top=Ypos+i*Ybase/4.1*Math.sin(min);
                               document.layers["ny"+i].left=Xpos+i*Xbase/4.1*Math.cos(min);
                               }
                               for (i=0; i < H.length; i++){
                                document.layers["nz"+i].top=Ypos+i*Ybase/4.1*Math.sin(hrs);
                                document.layers["nz"+i].left=Xpos+i*Xbase/4.1*Math.cos(hrs);
                                }
                               }
                               
                               if (IE4){
                               Ypos=document.body.scrollTop+window.document.body.clientHeight-Ybase-20;
                               Xpos=document.body.scrollLeft+window.document.body.clientWidth-Xbase-20;
                               for (i=0; i < dots; ++i){
                                ieDigits[i].style.pixelTop=Ypos-15+Ybase*Math.sin(-1.045 +i *Split*Math.PI/180)
                                ieDigits[i].style.pixelLeft=Xpos-15+Xbase*Math.cos(-1.045 +i *Split*Math.PI/180)
                                }
                               for (i=0; i < S.length; i++){
                                x[i].style.pixelTop =Ypos+i*Ybase/4.1*Math.sin(sec);
                                x[i].style.pixelLeft=Xpos+i*Xbase/4.1*Math.cos(sec);
                                }
                               for (i=0; i < M.length; i++){
                                y[i].style.pixelTop =Ypos+i*Ybase/4.1*Math.sin(min);
                                y[i].style.pixelLeft=Xpos+i*Xbase/4.1*Math.cos(min);
                                }
                               for (i=0; i < H.length; i++){
                                z[i].style.pixelTop =Ypos+i*Ybase/4.1*Math.sin(hrs);
                                z[i].style.pixelLeft=Xpos+i*Xbase/4.1*Math.cos(hrs);
                                }
                               }
                               setTimeout('clock()',100);
                               }
                               clock();
                               //-->
                               </script>
                               <!-- End Analog Clock  -->
                               <!--"''"-->
    Hope it helped!
    hbhosale12 likes this.

  2. CODECALL Circuit advertisement
    Join Date
    Always
    Posts
    Many

     
  3. #2
    xtraze is offline Programming God
    Join Date
    Dec 2006
    Location
    Sri lanka
    Posts
    911
    Rep Power
    0
    I think I saw it on a website and I forgot the name,.. Once I got this mixed up with some other things and had some trouble. So, be carefull guys. I think this code can be better than the one I used. Thank you lol Really nice. I have just tested it.

  4. #3
    Join Date
    Aug 2006
    Posts
    11,209
    Blog Entries
    6
    Rep Power
    101
    Quote Originally Posted by xtraze View Post
    I think I saw it on a website and I forgot the name,.. Once I got this mixed up with some other things and had some trouble. So, be carefull guys. I think this code can be better than the one I used. Thank you lol Really nice. I have just tested it.
    Welcome

    If you have enough HTML experience nothing will get mixed up! but yes as it is a long code you might get thing mixed up if you don't pay attention
    Last edited by TcM; 01-03-2007 at 07:35 AM.

  5. #4
    xtraze is offline Programming God
    Join Date
    Dec 2006
    Location
    Sri lanka
    Posts
    911
    Rep Power
    0
    Well, I may have. I think a white or similarly bright background suits this well and therefor it can be on Codecall !! only if the Admins like it to be. lol. Works on

    IE7
    FF2

    for me. I didn't check with Opera.

  6. #5
    Join Date
    Aug 2006
    Posts
    11,209
    Blog Entries
    6
    Rep Power
    101
    The Hour and Minute Hand, doesn't seem to work with Opera!

  7. #6
    xtraze is offline Programming God
    Join Date
    Dec 2006
    Location
    Sri lanka
    Posts
    911
    Rep Power
    0
    Not a BIG problem as most still use Internet Explorer and after that. It's Firefox. Only a few may use Opera and it won't be a BIG problem dude.

  8. #7
    sahar88 is offline Newbie
    Join Date
    Feb 2007
    Posts
    5
    Rep Power
    0
    thank you .........

  9. #8
    spirates is offline Newbie
    Join Date
    May 2008
    Posts
    8
    Rep Power
    0

    Help!

    Hey, really nice clock i must say

    But I need help :S.. Is it possible if someone kind here could make the clock in the left corner instead of the right corner? Or maybe tell me how to change it myself..

  10. #9
    Join Date
    Mar 2008
    Location
    The North Pole
    Posts
    13,174
    Blog Entries
    13
    Rep Power
    114

    Re: Javascript: Analog Clock

    This is an old thread, spirates, and should not be revived. Post the question in the correct forum.

    *Thread Closed* - to the best of my ability.

    Quote Originally Posted by Jordan View Post
    Good members, like yourself, stick around and post for ages to come!
    Mr. Xav | Blog | Forums

  11. #10
    spirates is offline Newbie
    Join Date
    May 2008
    Posts
    8
    Rep Power
    0

    Re: Javascript: Analog Clock

    cant you help me :<?

+ Reply to Thread
Page 1 of 3 123 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Javascript analog clock help needed!
    By welton122 in forum JavaScript and CSS
    Replies: 1
    Last Post: 02-09-2011, 06:05 AM
  2. Transparent Analog Clock
    By AfTriX in forum Visual Basic Tutorials
    Replies: 14
    Last Post: 06-11-2009, 04:28 AM
  3. How to create an analog clock
    By Dren in forum C Tutorials
    Replies: 12
    Last Post: 12-30-2008, 09:28 AM
  4. Creating an analog clock with ActionScript
    By AfTriX in forum Tutorials
    Replies: 2
    Last Post: 01-07-2007, 12:19 AM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts