jQuery UI position()方法

jQuery UI position()方法

jQuery UI框架为用户提供了许多实用功能,其中之一就是position()方法。position()方法帮助定位任何元素相对于页面中的任何目标元素,如窗口,任何父元素,文档或鼠标。它根据 “top”、”left”、”right “和 “bottom “等属性来描述任何元素的位置。
注意:

  • 它不支持隐藏元素的定位功能。
  • 只有子元素是相对于任何其他元素或目标定位的。

语法:

$(selector).position( options )

其中options是定义元素相对于目标或父元素的定位方式的对象类型。我们将只解释其中几个常用的选项。

选项:

  • my:它是字符串类型的。这个选项提到了需要与父目标元素对齐的元素的位置。它的默认值是center。
  • at。它是字符串类型的。这个选项提到了子元素所处的父目标元素的位置或位置。它的默认值是center。
  • of。类型是选择器或父元素。这个选项提到了要对其进行定位的父元素或目标元素。它的默认值是null。
  • collision。它是字符串类型的。这个选项提到了当被定位的元素超出文档窗口时的应用规则。默认值是flip。

jQuery UI的链接:

<script src=”https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js”></script>
<script src=”https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js”></script>
<link
href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/ui-lightness/jquery-ui.css" rel="样式表" type="text/css" />

例子1:在下面的例子中,演示了基本的默认position()方法。”divID1 “和 “divID2 “被固定在相对于父元素 “mainDivID “的 “my “和 “at “位置。鼠标事件是为 “divID3 “处理的。这个位置被设计成在文档中移动,在左边和上面保持10的间隙。

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="utf-8">
    <meta name="viewport"
          content="width=device-width, initial-scale=1">
    <title>jQuery UI position method</title>
    <link href=
"http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
          rel="stylesheet">
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
    <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
 
    <style>
        .class {
            .height: 10px;
        }
         
        .subDivClass {
            position: absolute;
            width: 80px;
            height: 80px;
            background: green;
            padding: 10px 10px;
        }
         
        #mainDivID {
            width: 300px;
            height: 300px;
            padding-top: 50px;
            background: #e9e9e9;
            border: 1px solid black
        }
    </style>
    <script>
        (function() {
            // Position to the center with respect to the parent mainDivID
            ("#divID1").position({
                my: "center",
                at: "center",
                of: "#mainDivID"
            });
            // Position to the  top right keeping a gap of 10
            ("#divID2").position({
                my: "right-10 top+10",
                at: "right top",
                of: "#mainDivID"
            });
            /* Position to move around
            keeping a gap of 10 at the left and top */
            (document).mousemove(function(event) {
                $("#divID3").position({
                    my: "left+10 top+10",
                    of: event,
                    collision: "fit"
                });
            });
        });
    </script>
</head>
 
<body>
    <h1 style="color:green">GeeksforGeeks</h1>
    <b>jQuery UI position utility </b>
    <div class="height"> </div>
    <div id="mainDivID">
        <div class="subDivClass" id="divID1">Position 1</div>
        <div class="subDivClass" id="divID2">Position 2</div>
        <div class="subDivClass" id="divID3">Position 3</div>
    </div>
</body>
 
</html>

输出:

jQuery UI position()方法

例子2:在下面的例子代码中,position方法与上述所有的选项或参数一起演示。

<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="utf-8">
    <meta name="viewport"
          content="width=device-width, initial-scale=1">
    <title>jQuery UI position method</title>
    <link href=
"http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css"
          rel="stylesheet">
    <script src="http://code.jquery.com/jquery-1.10.2.js"></script>
    <script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
 
    <style>
        .height {
            height: 10px;
        }
         
        #parentDivID {
            width: 500px;
            height: 120px;
            padding: 15px;
            border: 1px solid black;
            background-color: green;
            text-align: center;
        }
         
        .positionableClass {
            position: absolute;
            display: block;
            border-radius: 25%;
            background-color: #e9e9e9;
            text-align: center;
        }
         
        #positionableId {
            width: 80px;
            height: 80px;
        }
         
        #optionsDivID {
            padding: 10px;
            margin-top: 20px;
        }
         
        .selectDiv {
            padding-bottom: 20px;
        }
         
        select {
            margin-left: 15px;
        }
    </style>
    <script>
        (function() {
            function position() {
                (".positionableClass").position({
 
                    my: ("#myHorizontalID").val() +
                  " " +("#myVerticalID").val(),
                    at: ("#atHorizontalID").val()
                  + " " +("#atVerticalID").val(),
                    of: ("#parentDivID"),
                    collision:("#collHorizontalID").val() +
                  " " + ("#collVerticalID").val()
 
                });
            }
 
            ("select").on("click keyup change", position);
 
            $("#parentDivID").draggable({
                drag: position
            });
 
            position();
        });
    </script>
</head>
 
<body>
    <h1 style="color:green">GeeksforGeeks</h1>
    <b>jQuery UI position method </b>
    <div class="height"> </div>
 
    <div id="parentDivID">
         
 
<p>
            This is the parent target element.
        </p>
 
 
    </div>
 
    <div class="positionableClass" id="positionableId">
         
 
<p>
            Change my position
        </p>
 
 
    </div>
 
    <div id="optionsDivID">
 
        <div class="selectDiv">
            <b>Select "my" positions :</b>
            <select id="myHorizontalID">
                <option value="left">left</option>
                <option value="center">center</option>
                <option value="right">right</option>
            </select>
            <select id="myVerticalID">
                <option value="top">top</option>
                <option value="center">center</option>
                <option value="bottom">bottom</option>
            </select>
        </div>
        <div class="selectDiv">
            <b>Select "at" positions :</b>
            <select id="atHorizontalID">
                <option value="left">left</option>
                <option value="center">center</option>
                <option value="right">right</option>
            </select>
            <select id="atVerticalID">
                <option value="top">top</option>
                <option value="center">center</option>
                <option value="bottom">bottom</option>
            </select>
        </div>
        <div class="selectDiv">
            <b>Select collision options:</b>
            <select id="collHorizontalID">
                <option value="flip">flip</option>
                <option value="fit">fit</option>
                <option value="flipfit">flipfit</option>
                <option value="none">fit none</option>
            </select>
            <select id="collVerticalID">
                <option value="flip">flip</option>
                <option value="fit">fit</option>
                <option value="flipfit">flipfit</option>
                <option value="none">none</option>
            </select>
        </div>
    </div>
 
</body>
 
</html>

输出:

jQuery UI position()方法

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程