Вычисление положения элементов

Для вычисления положения элемента предназначены методы offset() и position(). Методы возвращают объект с двумя свойствами:

Выведем положение элемента при щелчке на нем (листинг 5.4).

Листинг 5.4. Методы offset() и position()

<!doctype html>
<html>
<head>
<title>Методы offset() и position()</title>
<meta charset="utf-8">
<script src="js/jquery.js"></script>
<script>
$(document).ready(function() {
   $("p").one("click", function() {
      var elem = $(this);
      var obj1 = elem.offset();
      var obj2 = elem.position();
      var msg = "Offset top: " + obj1.top + " left: " + obj1.left;
      msg += " Position top: " + obj2.top + " left: " + obj2.left;
      elem.html(msg);
   });
});
</script>
</head>
<body>
<p>Абзац 1</p>
<div style="margin:20px;padding:15px;border: black 2px dotted;">
<p style="margin:10px;">Абзац 2</p>
</div>
Щелкните на абзаце
</body>
</html>

Для получения или установки значения отступа прокрутки предназначены два метода.

Выведем значение отступа прокрутки после щелчка на элементе (листинг 5.5).

Листинг 5.5. Методы scrollTop() и scrollLeft()

<!doctype html>
<html>
<head>
<title>Методы scrollTop() и scrollLeft()</title>
<meta charset="utf-8">
<script src="js/jquery.js"></script>
<script>
$(document).ready(function() {
   $("#div1").click(function() {
      var elem = $("body");
      $(this)
      .html("top: " + elem.scrollTop() + " left: " +
            elem.scrollLeft());
      elem.scrollTop(0).scrollLeft(0);
   });
});
</script>
<style>
#div1 {
   margin:20px;padding:15px;
   width:1500px; height:1500px;
   border: black 2px dotted;
   background-color:silver;
}
</style>
</head>
<body>
<div id="div1">Переместите полосы прокрутки и щелкните на
сером фоне чтобы увидеть значения<br>
После щелчка значения будут приравнены к 0</div>
</body>
</html>
Предыдущая статья Все статьи Следующая статья