首先,scroll家族包括4個屬性:
接下來,我們先簡單看一下相關屬性。
例1:
console.log(document.documentelement.scrolltop, document.documentelement.scrollleft);doctype html
>
<
html
lang
="en"
>
<
head
>
<
meta
charset
="utf-8"
>
<
title
>
title
>
<
style
>
body
style
>
head
>
<
body
>
<
script
type
="text/html"
>
script
>
body
>
html
>
在谷歌瀏覽器下面,我們會發現,雖然有滾動條,甚至在滾動時候,都沒有列印值,那是因為我們在滾動的時候是觸發的滾動事件,所以我們需要監聽的是滾動事件。
因此,我們將上面的**稍作修改。將js部分改為下面的這樣的。
例2:
<script
type
="text/html"
>
window.onscroll
=function
() script
>
此時,我們就可以監聽到瀏覽器的滾動事件相應的值了,
其實,在實際運用過程中,為了處理不同瀏覽器的差距,我們用來表示scroll的值的方式有所不同,這需要從瀏覽器的模式說起。早期的瀏覽器在對css進行解析的時候,並未遵循w3c標準,這時的解析方式被稱為怪異模式(quirks),後來隨著w3c的標準越來越重要,眾多的瀏覽器開始遵循w3c標準解析css,此時我們稱為嚴格模式(strict mode)。
我們可以通過document.compatmode的值來判斷是否處於標準模式,從而決定用什麼方式獲取相應的scroll值。
例3:
doctype html
>
<
html
lang
="en"
>
<
head
>
<
meta
charset
="utf-8"
>
<
title
>title
title
>
<
style
>
body
style
>
head
>
<
body
>
<
script
>
function
scroll()
}else
if(document.compatmode
==="
css1compat")
}else
} }
window.onscroll
=function
() script
>
body
>
html
>
在上面的**中,我們通過判斷不同的模式使用不同的方法獲取scroll的值,並將這種方法進行封裝,方便呼叫,這樣就可以快速處理不同瀏覽器中的相容性問題,獲取我們需要的值了。
client家族屬性
在前面總結了offset家族屬性和scroll家族屬性,今天來總結一下client家族屬性,同前面一樣,client家族也包寬高和左上,具體的通過 來區別這三大家族屬性的不同。doctype html html lang en head meta charset utf 8 title title ...
游標查詢scroll
scroll查詢 可以用來對 elasticsearch 有效地執行大批量的文件查詢,而又不用付出深度分頁那種代價。游標查詢允許我們 先做查詢初始化,然後再批量地拉取結果。這有點兒像傳統資料庫中的 cursor 游標查詢會取某個時間點的快照資料。查詢初始化之後索引上的任何變化會被它忽略。它通過儲存舊...
scroll事件詳解
以前眼高手低,不夠紮實,面試的時候總是處理過,卻想不出來細節,這次開始慢慢整理,蝸牛繼續爬坡 一般情況下,如果出現內容大於瀏覽器的時候,需要新增樣式 overflow scroll 關於scroll的樣式有以下可以根據需求調整 滾動條的設定 1.webkit scrollbar 滾動條整體部分,可以...