jquery position()函式和offset()函式的區別
本章節介紹一下這兩個函式的基本用法和區別,希望能夠給需要的朋友帶來一定的幫助。
一.position()函式:
此函式可以返回當前元素距離最近定位父元素的偏移量,如果父元素中沒有定位元素,那麼就返回相對於文件的偏移量。
它會返回一個物件,此物件具有left和top屬性,能夠分別返回左和上偏移量。
程式碼例項:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> body{ margin:100px; height:1000px; } #thediv{ width:150px; height:50px; background:green; } </style> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#bt").click(function(){ $("#thediv").html($("#thediv").position().left); }) }) </script> <body> <div id="thediv"></div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
由於div元素的父元素中沒有定位元素,所以此函式返回的是相對於文件的偏移量。
二.offset()函式:
此函式和postion()函式有所區別,它始終返回元素相對於文件的偏移量。
它會返回一個物件,此物件具有left和top屬性,能夠分別返回左和上偏移量。
程式碼例項:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> body{ margin:100px; height:1000px; } #thediv{ width:150px; height:50px; background:green; } </style> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("#bt").click(function(){ $("#thediv").html($("#thediv").offset().left); }) }) </script> <body> <div id="thediv"></div> <input type="button" id="bt" value="檢視效果"/> </body> </html>
上面的程式碼可以返回div元素相對於文件的偏移量。
三.兩者的區別:
區別其實在上面兩個函式的介紹中已經比較清楚了,下面再來做一下簡單的總結。
1.相同點是兩者的返回值都是一個物件,此物件包含top和left兩個屬性,分別能夠返回頂部和左部的偏移量。
2.不同點是position()函式首先要看當前元素是否具有定位父元素,如果有則返回的是相對它最近的定位父元素的偏移量,如果沒有,則返回相對於文件的偏移量,而offset()函式則始終返回相對於文件的偏移量。
相關文章
- strcpy函式和memcpy函式的區別函式memcpy
- StretchBlt函式和BitBlt函式的區別和用法函式
- # 普通函式和箭頭函式的區別函式
- JavaScript函式宣告和函式表示式區別JavaScript函式
- 簡述箭頭函式和普通函式的區別函式
- 箭頭函式和普通函式的10個區別函式
- 箭頭函式、簡寫函式、普通函式的區別函式
- Day 59/100 箭頭函式和普通函式的區別函式
- 面試題:箭頭函式和普通函式的區別面試題函式
- window.onload()函式和jQuery中的document.ready()區別函式jQuery
- JQuery的ready函式與JS的onload的區別jQuery函式JS
- python內建函式-eval()函式與exec()函式的區別Python函式
- JavaScript方法和函式區別JavaScript函式
- 建構函式與普通函式的區別函式
- 箭頭函式與普通函式的區別函式
- 深入理解箭頭函式和傳統函式的區別函式
- 箭頭函式與普通函式區別函式
- Python中函式和方法的區別Python函式
- fill函式與memset函式的區別(c++)函式C++
- TypeScript 中函式的理解?與 JavaScript 函式的區別?TypeScript函式JavaScript
- 函式宣告與函式表示式有什麼區別?函式
- JavaScript:鉤子函式與回撥函式的區別JavaScript函式
- 例項物件和函式物件的區別物件函式
- window.onload()函式和jQuery中的document.ready()有什麼區別?函式jQuery
- 前端面試ES6系列:箭頭函式和普通函式的區別前端面試函式
- python中的str和repr函式的區別Python函式
- jQuery - 函式 $.ajaxSetup 的說明和使用jQuery函式
- 不同維度的拆分:物件導向和函式式的區別物件函式
- 詳解箭頭函式和普通函式的區別以及箭頭函式的注意事項、不適用場景函式
- QObject Event( )customEvent( ) 函式區別Object函式
- 05_jQuery函式的使用jQuery函式
- Rust中的into函式和from函式Rust函式
- python語言中類和函式的作用及區別!Python函式
- ES6類和ES5函式建構函式有什麼區別?函式
- 前端之jquery函式庫前端jQuery函式
- 如何理解jQuery.on()函式jQuery函式
- JavaScript中的compose函式和pipe函式JavaScript函式
- Kotlin之“with”函式和“apply”函式Kotlin函式APP
- 區分函式防抖&函式節流函式