不知道你要什么效果,是时针已经固定了,确定分针么
看下面代码,精确度以5分为单位
<SCRIPT language=JavaScript> 
<!-- Begin 
fCol = '000000'; //face colour. 
sCol = 'ff0000'; //seconds colour. 
mCol = '000000'; //minutes colour. 
hCol = '0f0000'; //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" onclick=setminute('+i*5+') onmouseover="this.style.cursor=\'hand\'" onmouseout="this.style.cursor=\'\'">'+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; function setminute(m)
{
//document.write("<input type=text value='"+hr+":"+m+"'>");
h=m==60?hr+1+"":hr+"";
m=m==60?"00":m+"";
h=h.length==1?"0"+h:h;
m=m.length==1?"0"+m:m;
document.all.settime.innerHTML="<input type=text value='"+h+":"+m+"' readOnly>";
}
// End --> 
</SCRIPT>
<div id=settime></div>

解决方案 »

  1.   

    <span id="showtime" onclick="text1.value=this.innerHTML"></span>
    <input type=text name=text1><button onclick="sta();">显示</button>
    <script language="javascript">
    function sta()
    {
    today=new Date();
    var dd;
    dd=today.getHours();
    var cc;
    cc=today.getMinutes(); if(cc<10)
    {
    cc="0"+cc;
    }

    var ss;
    ss=today.getSeconds(); if(ss<10)
    {
    ss="0"+ss;
    }
    dd=dd+":"+cc//+":"+ss; document.getElementById("showtime").innerText=dd;
    }
    //setInterval("sta()",1000);function showtime()
    {
      text1.value=showtime.innerText;
    }
    </script>
      

  2.   

    to flytyke:
       不需要很精确,精确度为5分钟即可。
    to seabeal:
       很好的东东.用了你的东东,忽然明白,在钟上点一下是确定不了时间的,
       呵呵。只是这个东东只能显示当前小时,如果想要确定小时和分(精确度 为5分钟即可),你有什么别的好办法么?
    to xhbmj:
       不是取当前时间。
      

  3.   

    <SCRIPT language=JavaScript> 
    <!-- Begin 
    fCol = '000000'; //face colour. 
    sCol = 'ff0000'; //seconds colour. 
    mCol = '000000'; //minutes colour. 
    hCol = '0f0000'; //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" onclick=setminute('+i+') onmouseover="this.style.cursor=\'hand\'" onmouseout="this.style.cursor=\'\'">'+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; ifhour=true;
    h=0;
    m=0;
    function setminute(k)
    {
    h=ifhour?k:h;
    m=ifhour?m:k*5;
    h=m==60?h+1:h;
    m=m==60?0:m;
    h2=h+"";
    m2=m+"";
    h2=h2.length==1?"0"+h2:h2;
    m2=m2.length==1?"0"+m2:m2;
    document.all.settime.innerHTML="<input type=text value='"+h2+":"+m2+"' readOnly>";
    }
    // End --> 
    </SCRIPT>
    <input type=radio name=myradio checked onclick="ifhour=this.checked">hour
    <input type=radio name=myradio onclick="ifhour=!this.checked">minute
    <div id=settime></div>