Поблемы с часами

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем Dr_Veter, 26 июл 2007.

Статус темы:
Закрыта.
  1. Dr_Veter

    Dr_Veter Гость

    Вот сам скрипт:
    <html>
    <head>
    <title>Clock</title>

    <!-- HEAD START HERE -->

    <script language=javaScript>
    <!--

    function clockon() {
    thistime= new Date()
    var hours=thistime.getHours()
    var minutes=thistime.getMinutes()
    var seconds=thistime.getSeconds()
    if (eval(hours) <10) {hours="0"+hours}
    if (eval(minutes) < 10) {minutes="0"+minutes}
    if (seconds < 10) {seconds="0"+seconds}
    thistime = hours+":"+minutes+":"+seconds

    if(document.all) {
    clocks.innerHTML=thistime
    }

    if(document.layers) {
    document.clocks.document.write('<div id="clocks" >'+thistime+'</div>'+'<br />')
    document.close()
    }
    var timer=setTimeout("clockon()",200)

    }

    // - End of JavaScript - -->
    </script>

    <!-- HEAD END HERE -->

    </head>
    <body onLoad="clockon()">

    <!-- BODY START HERE -->
    <center> <div id="clocks" style='font-size: 12pt; font-weight: bold; color: #3d107b;'></div></center>
    <script LANGUAGE="JavaScript">

    mydate = new Date();
    myday = mydate.getDay();
    mymonth = mydate.getMonth();
    myweekday= mydate.getDate();
    weekday= myweekday;
    myyear= mydate.getYear();
    myyear = myyear % 100;
    myyear = ((myyear < 50) ? (2000 + myyear) : (1900 + myyear));
    year = myyear

    if(myday == 0)
    day = " Воскресенье, "

    else if(myday == 1)
    day = " Понедельник, "

    else if(myday == 2)
    day = " Вторник, "

    else if(myday == 3)
    day = " Среда, "

    else if(myday == 4)
    day = " Четверг, "

    else if(myday == 5)
    day = " Пятница, "

    else if(myday == 6)
    day = " Суббота, "

    if(mymonth == 0)
    month = " Января, "

    else if(mymonth ==1)
    month = " Февраля, "

    else if(mymonth ==2)
    month = " Марта, "

    else if(mymonth ==3)
    month = " Апреля, "

    else if(mymonth ==4)
    month = " Мая, "

    else if(mymonth ==5)
    month = " Июня, "

    else if(mymonth ==6)
    month = " Июля, "

    else if(mymonth ==7)
    month = "Августа, "

    else if(mymonth ==8)
    month = " Сентябтя, "

    else if(mymonth ==9)
    month = " Октября, "

    else if(mymonth ==10)
    month = " Ноября, "

    else if(mymonth ==11)
    month = " Декабря, "

    thisdate= day + myweekday + month + year
    document.write("<center><div style='font-size: 10pt; color: #3d107b;'>" + thisdate + " </div>");


    </SCRIPT>
    <!-- BODY END HERE -->

    </body>
    </html>

    Он работает в IE и Opera(без нареканий), но в FireFox отображается только дата, помогите запустить ещё и часы... :-(

    Я даже не знаю где может быть ошибка :)
     
  2. sir Aurum

    sir Aurum Гость

    Все дело в конструкции if(document.all)
    FF работает по W3C стандартам, а document.all - чисто эксплореровская фишка. Opera ее унаследовала еще со времен, когда использовала движок эксплорера.

    Так что меняйте
    if(document.all) {
    clocks.innerHTML=thistime
    }

    на clocks.innerHTML=thistime
    и должно работать.

    Кстати следующее условие if(document.layers) уже неактуально. Это работало для старых Netscape Navigator, теперь можно свободоно от этого избавляться.
     
  3. Dr_Veter

    Dr_Veter Гость

    Большое спасибо, все заработало. :)
     
Загрузка...
Похожие Темы - Поблемы часами
  1. VladSh
    Ответов:
    3
    Просмотров:
    2.032
Статус темы:
Закрыта.

Поделиться этой страницей