首页 > 语言 > JavaScript > 正文

jQuery的position()方法详解

2024-05-06 16:23:29
字体:
来源:转载
供稿:网友

position()函数用于返回当前匹配元素相对于其被定位的祖辈元素的偏移,也就是相对于被定位的祖辈元素的坐标。该函数只对可见元素有效。

position()方法的定义和用法:

此方法获取匹配元素相对某些元素的偏移量。

返回的对象包含两个整型属性(top和left)的对象。

此方法只对可见元素有效。

语法结构:

 

 
  1. $(selector).position() 

在教程的开头之所以说是获取匹配元素相对于某些元素的偏移量。很多教程都说方法返回的偏移量是相对于父元素,其实并非完全如此,此方法会将匹配元素以绝对定位方式处理,当然并不是说真的将匹配元素设置为绝对定位。方法的偏移量参考原则如下:

1.如果父辈元素中没有采用定位的(position属性值为relative、absolute或者fixed),那么偏移量参考对象为窗口。

2.如果父辈元素中有采用定位的,那么偏移量的参考对象为距离它最近的采用定位的元素,

实例代码:

 

 
  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <meta charset=" utf-8"
  5. <style type="text/css"
  6. *{ 
  7. margin:0px; 
  8. padding:0px; 
  9. .father{ 
  10. background-color:green; 
  11. width:200px; 
  12. height:200px; 
  13. padding:50px; 
  14. margin-bottom:50px; 
  15. margin-left:100px; 
  16. .children{ 
  17. height:150px; 
  18. width:150px; 
  19. background-color:red; 
  20. line-height:150px; 
  21. text-align:center; 
  22. </style> 
  23. <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> 
  24. <script type="text/javascript"
  25. $(document).ready(function(){ 
  26. $(".children").each(function(){ 
  27. var text; 
  28. text="left:"+$(this).position().left; 
  29. text+="top:"+$(this).position().top; 
  30. $(this).text(text); 
  31. }) 
  32. }) 
  33. </script> 
  34. </head> 
  35. <body> 
  36. <div class="father" style="position:relative"
  37. <div class="children"></div> 
  38. </div> 
  39. <div class="father"
  40. <div class="children"></div> 
  41. </div> 
  42. </body> 
  43. </html> 

在以上代码中顶部组合,由于父元素采用的是相对定位,那么获取的偏移量就是相对于父元素的。在底部的组合中,由于父元素没有采用定位,那么偏移量参考对象就是窗口。

以上所述就是本文的全部内容了,希望大家能够喜欢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选