Рубрики

В чем разница между position () и offset () в jQuery?

Оба метода jQueryUI возвращают объект, который содержит целочисленные координаты свойств верхней и левой позиций. Позиции верхней и левой координат возвращаются в пикселях. Обе функции применяются только к видимым элементам, а не к скрытым элементам.

Пример: в примере приведены верхняя и левая координаты поля, содержащего текст.

<!DOCTYPE html>

<html>

  

<head>

    <title>The difference between offset and position Method</title>

    <script src=

"https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">

    </script>

  

    <! - код jQuery для показа метода ->

    <script>

        /* code for position */

        $(document).ready(function() {

            $("#position").click(function() {

                var Geek = $("#testDiv").position();

                alert("Top : " + Geek.top +

                    " Left : " + Geek.left);

            });

  

            /* code for offset */

            $("#offset").click(function() {

                var Geek = $("#testDiv").offset();

                alert("Top : " + Geek.top +

                    " Left : " + Geek.left);

            });

        });

    </script>

  

    <style>

        #container {

            width: 40%;

            min-height: 100px;

            padding: 20px;

            font-size: 25px;

            border: 2px solid green;

            font-weight: bold;

            color: green;

            background: gray;

            position: relative;

        }

        #testDiv {

            background: silver;

        }

        h1 {

            color: green;

        }

    </style>

</head>

  

<body>

    <center>

        <h1>GeeksforGeeks</h1>

        <b>offset() and position()</b>

        <div>

            <div id="container">

                <div id="testDiv">Welcome to GeeksforGeeks</div

            </div>

  

            <div style="height:10px"></div>

            <button id="offset">click for offset</button

            <button id ="position">click for position</button

        </div>

    </center>

</body

  

</html>

Выход:

  • Перед нажатием любой кнопки:
  • После нажатия на кнопку:

    смещение:

    позиция:

Разница между методами offset () и postion ():

offset() Methodposition() Method
The offset() method in jQuery returns the first found position of HTML element with respect to the document.The position() method in jQuery returns the current position of HTML element with respect to its offset parent.
The jQuery UI offset() is relative to the document.The jQuery UI position() is relative to the parent element.
When you want to position a new element on top of another one which is already existing, its better to use the jQuery offset() method.When you want to position a new element near another DOM element within the same container, its better to use jQuery position() method.
The offset() method is mostly used in drag-and-drop functions.The position() method is used to position an element relative to document, window or other elements like mouse or cursor.

Рекомендуемые посты:

В чем разница между position () и offset () в jQuery?

0.00 (0%) 0 votes