jQuery中寬 高 位置和滾動條總結

2021-08-02 03:33:24 字數 1821 閱讀 1661

js中各種寬高令人頭疼,相反,jquery中則精簡了不少。

jquery中獲取寬高,最經典的就是width()和height()。因為css盒子模型的緣故,元素的寬高分為很多。以下以獲取元素的寬為例:

$(

"div").width(); //內容的寬

$("div").innerwidth(); //內容的寬 + 左內邊距 + 右內邊距

$("div").outerwidth(); //內容的寬 + 左內邊距 + 右內邊距 + 左邊框 + 右邊框

$("div").outerwidth(true); //內容的寬 + 左內邊距 + 右內邊距 + 左邊框 + 右邊框 + 左外邊距 + 右外邊距

對於元素的高是同樣的道理。

同時需要注意的是,$(window)代表瀏覽器視窗,通過$(window).height()獲取的是瀏覽器視窗的高,如果調整瀏覽器的高度,則其值會變。

$(document)代表html文件,通過$(document).height()獲取的是整個文件的高,如果調整瀏覽器的高度,則其值不會變。

1.對於$(window)和$(document)來說,他們的width()、innerwidth()和outerwidth()的值都是一樣的。

2. width()和css(「width」)的區別在於,後者獲取的值帶有單位

jquery中,與元素位置相關的有兩個函式:offset()position()

這兩個函式都返回乙個物件,這個物件中含有兩個屬性:left和top。

這兩個函式不同點在於,offset是元素相對於文件的位置,而position是元素相對於其含有position屬性的最近祖先元素的位置。

$(

"div").offset().left; //元素相對於html文件左邊的距離

$("div").position().left; //元素相對於其含有position屬性的最近祖先元素左邊的距離

主要有兩個函式scrolltop()和scrollleft()。

對於普通元素來說,scrolltop()就是該元素滾動上去的距離,對於$(window)來說,就是整個網頁滾動上去的距離。

$(

"div").scrolltop();

$(window).scrolltop();

當頁面滾動到元素所在位置時,再進行一些動作,比如執行動畫,載入。這是怎麼實現的呢?

其實很簡單,只要$(window).scrolltop() + $(window).height()的和大於$(「div」).offset().top就行了。

$(window).scroll(function

()});

經常在網頁中看到,當頁面滾動到底部時,頁面自動載入,這是怎麼實現的呢?

其實判斷頁面是否滾動到底部,很簡單,只要$(window).height() + $(window).scrolltop() 的和大於$(document).height()就行了。

前面已經說了,window和document是不同的,window指的是瀏覽器視窗,而document指的是html文件。

$(window).scroll(function

()});

滾動條位置判斷

獲取滾動條距離頂部位置 function getscrolltop else if document.body return scrolltop 獲取當前可視範圍的高度 function getclientheight else return clientheight 獲取文件完整的高度 funct...

jquery滾動條操作

在開發專案時,常常需要展示大量資料。如果全部顯示出來,資料相對少時,看不出來什麼不同,如果資料很多時,一次請求全部顯示,這就相當可怕了。面對這種問題,pc裡使用了分頁效果,將資料分成一頁頁,換頁時請求當前頁資料,而螢幕較小的移動端,分頁就不怎麼好看了,常用的方法是滾動到底部時繼續載入資料 滾動載入其...

jQuery操作滾動條

一 窗體滾動條 1 獲取窗體滾動條當前縱向和橫向位置 var currenty document.body scrolltop 窗體滾動條縱向位置 var currentx document.body scrollleft 窗體滾動條橫向位置 2 設定窗體滾動條到指定位置 var y 想滾動到的垂直...