
滚动事件和加载事件
元素大小和位置
scroll
这是一位佬对获取宽高的总结
scrollwidth和height是内容的高度和宽度
中间的黑框是游览器,粉色是内容,红色就是st
红色是sl
这个d.d就是代表的html标签,就是这种写法,记住
html包含的页面就是游览器的页面
案例新浪返回顶部
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.content {
width: 1000px;
height: 3000px;
background-color: pink;
margin: 0 auto;
}
.backtop {
display: none;
width: 50px;
left: 50%;
margin: 0 0 0 505px;
position: fixed;
bottom: 60px;
z-index: 100;
}
.backtop a {
height: 50px;
width: 50px;
background: url(./images/bg2.png) 0 -600px no-repeat;
opacity: 0.35;
overflow: hidden;
display: block;
text-indent: -999em;
cursor: pointer;
}
</style>
</head>
<body>
<div class="content"></div>
<div class="backtop">
<img src="./images/close2.png" alt="">
<a href="javascript:;"></a>
</div>
<script>
let backtop = document.querySelector('.backtop')
window.addEventListener('scroll',function(){
if(document.documentElement.scrollTop>=500){
backtop.style.display = 'block'
}
else{
backtop.style.display = 'none'
}
})
//返回头部
backtop.children[1].addEventListener('click',function(){
document.documentElement.scrollTop = 0
})
</script>
</body>
</html>
offset
宽高就是div的大小
client
可见的部分
1111111111111111111111
总结
对于高和宽来说,scroll仅仅是内容文字的,offset是div完整盒子的,client是可见部分的.
第一个是scroll,为什么高这么大,因为他是内容的,下面还有文字,所以才这么大.
第二个是offset,是一个div的.
第三个是client,是可见内容的,也就是去除了边框,滚动条的.
对于左距离和上距离来说,scroll是看到的页面与内容的距离
offset是具有定位父元素的距离,client是可视区域和边框的距离
综合案例
不写了,有时间再写吧,先赶进度,qaq