Сценарии JavaScript в активных страницах Web

Плавное изменение цвета фона документа HTML


Просматривая страницы некоторых серверов Web, вы могли обратить внимание, что цвет их фона начинает плавно изменяться сразу после загрузки, становясь постепенно светлее или наоборот, темнее. Аналогичный эффект может быть получен не только для цвета фона, но и для цвета текста, а также гипертекстовых ссылок. Вы можете сделать, например, так, чтобы строки текста постепенно проявлялись на фоне страницы или исчезали (чтобы посетитель не успел их прочесть).

Сложный на первый взгляд эффект достигается чрезвычайно просто: изменением свойства bgColor объекта document. В листинге 2.10 мы привели пример сценария, который после загрузки документа HTML в окно браузера изменяет цвет его фона с белого на черный.

Листинг 2.10. Файл chapter2/ChangeBkg/ChangeBkg.html

<HTML>

  <HEAD>

    <TITLE>Color Links</TITLE>

    <SCRIPT LANGUAGE="JavaScript">

    <!--

    var nRed = 255;

    var nGreen = 255;

    var nBlue = 255;

    function colorShift()

    {



      var cmd = "colorShift()";

      document.bgColor = "#" +

        dec2hex(nRed) +

        dec2hex(nGreen) +

        dec2hex(nBlue);

      if(nRed > 0)

      {

        nRed   -= 10;

        nGreen -= 10;

        nBlue  -= 10;

      }

      timer = window.setTimeout(cmd, 50);

    }

    function dec2hex(nDec)

    {

      var szHexTable="0123456789ABCDEF";

      var szResult = "";

      var szBuf="";

      var nRem = 0;

      var bNegative=false;

      if(nDec < 0)

      {

        bNegative=true;

        nDec = -nDec;

      }

      nTmp=nDec;

     

      while(true)

      {

        nRem = nTmp % 16;

        nTmp = nTmp / 16;

        if(Math.floor(nTmp) < 16)

          break;

        szBuf=szHexTable.charAt(nRem);

        szResult = szBuf.concat(szResult);

      }

   

      szBuf=szHexTable.charAt(nRem);

      szResult = szBuf.concat(szResult);



Содержание раздела