Публикации с тегом "JavaScript"

Расположение HTML-элемента по центру экрана при помощи JavaScript

Часто веб-мастера используют блоки с абсолютным позиционированием для реализации диалоговых окон. Чтобы такой блок расположить по центру экрана в независимости от разрешения можно воспользоваться следующими формулами:

left = (ширина_рабочей_области_браузера / 2) - (ширина_блока / 2)
top = (высота_рабочей_области_браузера / 2) - (высота_блока / 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>
    <title>Page</title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
    <style type="text/css">
      body {height:2000px;}
      #layer1 {width: 300px; height: 200px; background: #aaa; position: fixed; left: 100px; top: 100px; display: none;}
      #capt1 {text-align: right;}
    </style>
  </head>
  <body>
    <script type="text/javascript">
      function show()
      {
          var block = document.getElementById('layer1');
          block.style.display = 'block';
          block.style.left = parseInt(document.documentElement.clientWidth)/2 - parseInt(block.offsetWidth)/2 + "px";
          block.style.top = parseInt(document.documentElement.clientHeight)/2 - parseInt(block.offsetHeight)/2 + "px";
      }
      function hide()
      {
          document.getElementById('layer1').style.display = 'none';
      }
    </script>
 
    <a href="javascript:show()">Вызвать</a>
 
    <div id="layer1">
      <div id="capt1">
        <a href="javascript:hide()">Закрыть</a>
      </div>
    </div> 
  </body> 
</html>

Обратите внимание на строки 7, 8, 18, 19. Во-первых, для того, чтобы принудительно отобразить вертикальную полосу прокрутки, задана высота body. Блоку задан стиль position со значением fixed. Его действие аналогично absolute, за исключением того, что положение элемента не зависит от прокрутки веб-страницы. Строки 18, 19 — реализация формул расчета положения блока. Java-Script функция parseInt в нашем случае отбросит из значений стилей "px", оставив лишь числовые составляющие, которые нам и нужны для выполнения математических действий.

Введение в JavaScript

JavaScript — еще одна технология, широко применяющаяся при разработке сайтов. В отличии от HTML и CSS, предназначенных для разметки страниц, JavaScript является языком программирования. Программы, написанные на JavaScript, называются скриптами. Веб-программисты в подавляющем большинстве случаев используют следующие возможности JavaScript:

  • Возможность управления атрибутами, стилями и содержимым HTML-элементов. JavaScript имеет доступ к элементам на странице, в контексте которой он выполняется, может читать и изменять атрибуты, стили и содержимое элементов. Надо понимать, что это подразумевает такие обширные возможности, как изменение размеров, положения, контента, дизайна элементов, скрытие/отображение и так далее.
  • Возможность создания и удаления HTML-элементов. При помощи JavaScript можно удалять существующие и создавать новые HTML-элементы на странице.
  • Возможность программирования событий HTML-элементов. Для элементов можно назначить определенные действия на такие события, как "клик мышью", "движение курсора мыши", "получение фокуса" и так далее.
  • Возможность выполнения HTTP-запросов. Позволяет без перезагрузки страницы выполнять HTTP-запросы и получать HTTP-ответы.
  • Возможности, характерные для всех языков программирования, такие как обработка текстовых, числовых и других видов данных, условные операторы, операторы цикла и так далее.

Возможности JavaScript позволяют создавать чрезвычайно интерактивные сайты. Уже вряд ли можно где-либо встретить браузер без поддержки JavaScript.