التابع ‎‎.position()‎‎ في jQuery

من موسوعة حسوب
مراجعة 17:47، 13 يونيو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

‎.position()‎

القيم المعادة

يعيد كائنًا من النوع jQuery.

الوصف

يجلب هذا التابع الإحداثيات الحالية للعنصر الأول في المجموعة المطابقة نسبةً إلى أقرب عنصر أب متموضع (offset parent) لذلك العنصر.

‎.position()‎

أضيف مع الإصدار 1.2. لا يقبل هذا التابع أية وسائط.

يجلب التابع ‎.position()‎ الإحداثيات الحالية لعنصرٍ (لإطار حوافه الخارجية [margin box] تحديدًا) نسبةً إلى أقرب عنصر أب له (إطار حواشيه [padding box] تحديدًا، أي باستثناء الهوامش والإطار). يختلف هذا التابع عن التابع ‎.offset()‎ الذي يعيد الإحداثيات الحالية للعنصر نسبةً إلى الصفحة. عند وضع عنصر جديد بالقرب من عنصر آخر وكان كلاهما موجودين ضمن العنصر DOM نفسه، فيكون استعمال التابع ‎.position()‎ أكثر فائدة.

يعيد هذا التابع كائنًا يحتوي على الخاصية top والخاصية left.

ملاحظة: لا تدعم jQuery الحصول على إحداثيات العناصر المخفية ولا تأخذ بالحسبان قيمة الهوامش المضبوطة للعنصر <html> في الصفحة.

ملاحظات إضافية

قد يكون العدد المُعاد باستعمال الواجهات البرمجية (APIs) المتعلقة بالأبعاد، من ضمنها ‎.position()‎، كسريًّا في بعض الحالات. فيجب ألا تفترض الشيفرة أنَّ هذا العدد صحيحٌ (integer). بالإضافة إلى ذلك، قد تكون الأبعاد خطأ عندما يكبِّر المستخدم الصفحة، إذ لا توفِّر المتصفحات واجهةً برمجيةً لمعرفة أنَّ هذه الحالة قد وقعت.

أمثلة

إيجاد موضع الفقرة <p> الثانية:

<!doctype html>
<html lang="ar">
<head>
  <meta charset="utf-8">
  <title>position مثالٌ عن استعمال التابع</title>
  <style>
  div {
    padding: 15px;
  }
  p {
    margin-left: 10px;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div>
  <p>مرحبًا</p>
</div>
<p></p>
 
<script>
var p = $( "p:first" );
var position = p.position();
$( "p:last" ).text( "left: " + position.left + ", top: " + position.top );
</script>
 
</body>
</html>

مصادر