Вы можете легко найти положение элемента относительно родительского элемента, используя jQuery-метод position()
. Это применимо только для видимых элементов, т.е. вы можете получить положение элементов с visibility: hidden;
но не с display: none;
.
Давайте попробуем следующий пример, чтобы понять, как это работает:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery Find Element's Position Relative to the Parent</title>
<style>
#box{
width:150px;
height:100px;
background: orange;
}
.container{
margin: 20px;
padding: 30px;
border: 2px solid #666;
position: relative;
}
</style>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script>
$(document).ready(function() {
$("button").click(function(){
var position = $("#box").position();
alert("Текущее положение контейнера:: (left: " + position.left + ", top: " + position.top + ")");
});
});
</script>
</head>
<body>
<div class="container">
<button type="button">Получить положение контейнера</button>
<p><strong>Заметка:</strong> Поэкспериментируйте со значением свойства padding контейнера или вставьте больше содержимого внутри контейнера, чтобы увидеть, как работает jQuery-метод position().</p>
<div id="box"></div>
</div>
</body>
</html>