You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.3 KiB
44 lines
1.3 KiB
export default function useScrollHeight() { |
|
const getScrollTop = () => { |
|
let scrollTop:number = 0, |
|
bodyScrollTop:number = 0, |
|
documentScrollTop:number = 0 |
|
if (document.body) { |
|
bodyScrollTop = document.body.scrollTop |
|
} |
|
if (document.documentElement) { |
|
documentScrollTop = document.documentElement.scrollTop |
|
} |
|
scrollTop = bodyScrollTop - documentScrollTop > 0 ? bodyScrollTop : documentScrollTop |
|
return scrollTop |
|
} |
|
//浏览器视口滚动的高度 |
|
const getScrollHeight = () => { |
|
let scrollHeight:number = 0, |
|
bodyScrollHeight:number = 0, |
|
documentScrollHeight:number = 0 |
|
if (document.body) { |
|
bodyScrollHeight = document.body.scrollHeight |
|
} |
|
if (document.documentElement) { |
|
documentScrollHeight = document.documentElement.scrollHeight |
|
} |
|
scrollHeight = bodyScrollHeight - documentScrollHeight > 0 ? bodyScrollHeight : documentScrollHeight |
|
return scrollHeight |
|
} |
|
//浏览器视口的高度 |
|
const getWindowHeight = () => { |
|
let windowHeight:number = 0 |
|
if (document.compatMode == 'CSS1Compat') { |
|
windowHeight = document.documentElement.clientHeight |
|
} else { |
|
windowHeight = document.body.clientHeight |
|
} |
|
return windowHeight |
|
} |
|
return { |
|
getScrollTop, |
|
getScrollHeight, |
|
getWindowHeight, |
|
} |
|
}
|
|
|