function showClock()
{

var d = new Date();
var weekday;
var month;
var dateth;
var hours;
var minutes;
var seconds;
switch (d.getDay())
{
case 0:
weekday="Sunday  ";
case 1:
weekday="Monday  ";
case 2:
weekday="Tuesday  ";
case 3:
weekday="Wednesday  ";
case 4:
weekday="Thursday  ";
case 5:
weekday="Friday  ";
case 6:
weekday="Saturday  ";
}
if(d.getHours() < 10)
hours = "0" + d.getHours();
else
hours ="" + d.getHours();
if(d.getMinutes()<10)
minutes="0" + d.getMinutes();
else 
minutes = "" + d.getMinutes();
if(d.getSeconds() < 10)
seconds = "0" + d.getSeconds();
else 
seconds = "" + d.getSeconds();

switch(d.getMonth())
{
case 0:
month = "January";
case 1:
month = "February";
case 2:
month = "March";
case 3:
month = "April";
case 4:
month = "May";
case 5:
month = "June";
case 6:
month = "July";
case 7:
month = "August";
case 8:
month = "September";
case 9:
month = "October";
case 10:
month = "November";
case 11:
month = "December";
}

switch (d.getDate())
{
case 1: 
dateth = d.getDate() + "st";
case 2: 
dateth = d.getDate() + "nd";
case 3: 
dateth = d.getDate() + "rd";
default: 
dateth= d.getDate() + "th";
}


document.getElementById("clock").innerHTML = "" + hours + ":" + minutes + ":" + seconds;

document.getElementById("date").innerHTML="" + weekday  + "  "  + month  +"  "+ dateth; window.setInterval(showClock, 1000);
}

解决方案 »

  1.   

    卡住是什么意思?执行一会就不动了?IE点击右键时 setInterval 就暂停执行了
      

  2.   

    <!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>无标题文档</title>
    <script type="text/javascript">
    function showClock()
    {var d = new Date();
    var weekday;
    var month;
    var dateth;
    var hours;
    var minutes;
    var seconds;
    switch (d.getDay())
    {
    case 0:
    weekday="Sunday  ";
    case 1:
    weekday="Monday  ";
    case 2:
    weekday="Tuesday  ";
    case 3:
    weekday="Wednesday  ";
    case 4:
    weekday="Thursday  ";
    case 5:
    weekday="Friday  ";
    case 6:
    weekday="Saturday  ";
    }
    if(d.getHours() < 10)
    hours = "0" + d.getHours();
    else
    hours ="" + d.getHours();
    if(d.getMinutes()<10)
    minutes="0" + d.getMinutes();
    else 
    minutes = "" + d.getMinutes();
    if(d.getSeconds() < 10)
    seconds = "0" + d.getSeconds();
    else 
    seconds = "" + d.getSeconds();switch(d.getMonth())
    {
    case 0:
    month = "January";
    case 1:
    month = "February";
    case 2:
    month = "March";
    case 3:
    month = "April";
    case 4:
    month = "May";
    case 5:
    month = "June";
    case 6:
    month = "July";
    case 7:
    month = "August";
    case 8:
    month = "September";
    case 9:
    month = "October";
    case 10:
    month = "November";
    case 11:
    month = "December";
    }switch (d.getDate())
    {
    case 1: 
    dateth = d.getDate() + "st";
    case 2: 
    dateth = d.getDate() + "nd";
    case 3: 
    dateth = d.getDate() + "rd";
    default: 
    dateth= d.getDate() + "th";
    }
    document.getElementById("clock").innerHTML = "" + hours + ":" + minutes + ":" + seconds;document.getElementById("date").innerHTML="" + weekday  + "  "  + month  +"  "+ dateth;
    }
    window.onload=function(){window.setInterval(showClock, 1000);};
    </script>
    </head><body>
    <div id="clock"></div>
    <div id="date"></div>
    </body>
    </html>
    改成这样试试
      

  3.   

    switch(d.getMonth())
                {
                    case 0:
                        month = "January";
                        break;//为了优化不要少了中断循环,说到优化你的代码可以这样写:    <script type="text/javascript">
            window.onload=function(){
                window.setInterval(
                    function (){
                        var d = new Date();
                        var week=["Sunday  ","Monday  ","Tuesday  ","Wednesday  ","Thursday  ","Friday  ","Saturday  "];
                        var month=["January","February","March","April","May","June","July","August","September","October","November","December"];
                        var date=["st","nd","rd","th"];
                        document.getElementById("clock").innerHTML = ("0"+d.getHours()).slice(-2) + ":" + ("0"+d.getMinutes()).slice(-2) + ":" + ("0"+d.getSeconds()).slice(-2);
                        document.getElementById("date").innerHTML=week[d.getDay()]  + "  "  + month[d.getMonth()]  +"  "+ d.getDate()+date[d.getDate()>3?3:d.getDate()];
                    },1000)
            }
        </script>
      

  4.   

    function showClock()
    {var d = new Date();
    var weekday;
    var month;
    var dateth;
    var hours;
    var minutes;
    var seconds;
    switch (d.getDay())
    {
    case 0:
    weekday="Sunday  ";
    case 1:
    weekday="Monday  ";
    case 2:
    weekday="Tuesday  ";
    case 3:
    weekday="Wednesday  ";
    case 4:
    weekday="Thursday  ";
    case 5:
    weekday="Friday  ";
    case 6:
    weekday="Saturday  ";
    }
    if(d.getHours() < 10)
    hours = "0" + d.getHours();
    else
    hours ="" + d.getHours();
    if(d.getMinutes()<10)
    minutes="0" + d.getMinutes();
    else 
    minutes = "" + d.getMinutes();
    if(d.getSeconds() < 10)
    seconds = "0" + d.getSeconds();
    else 
    seconds = "" + d.getSeconds();switch(d.getMonth())
    {
    case 0:
    month = "January";
    case 1:
    month = "February";
    case 2:
    month = "March";
    case 3:
    month = "April";
    case 4:
    month = "May";
    case 5:
    month = "June";
    case 6:
    month = "July";
    case 7:
    month = "August";
    case 8:
    month = "September";
    case 9:
    month = "October";
    case 10:
    month = "November";
    case 11:
    month = "December";
    }switch (d.getDate())
    {
    case 1: 
    dateth = d.getDate() + "st";
    case 2: 
    dateth = d.getDate() + "nd";
    case 3: 
    dateth = d.getDate() + "rd";
    default: 
    dateth= d.getDate() + "th";
    }
    document.getElementById("clock").innerHTML = "" + hours + ":" + minutes + ":" + seconds;document.getElementById("date").innerHTML="" + weekday  + "  "  + month  +"  "+ dateth;
    }
    window.setInterval(showClock, 1000);把红色部分移到方法外面去,没有看到LZ调用showClock,而且不应该把定时器放在方法里,不然每执行一次都会添加一个定时器。