scroll事件总结

摘要:
可以在控制台<body{/*height:*/}#father{300px;粉色;滚动;绿色;200px;divide=“father”>divide=“son3”&gt,varfather=document.getElementById('father');

一般监听窗口的滚动事件都是给window,document,body绑定滚动事件。但是需要注意以下几点:

(1)给body绑定scroll事件时,this指向window

(2)不管给谁绑定,要获取scrollTop值都是通过document.body来获取。即document.body.scrollTop.window和document是没有scrollTop值的。

给普通盒子设置scroll事件。

(1)此时需要一个条件,盒子必须有滚动条,可以理解为盒子的内容高度超过盒子本身。同时要给盒子设置overflow:scroll属性,这样盒子才能滚动。

(2)当滚动到尽头时,有这样一个关系式this.scrollTop + this.offsetHeight == this.scrollHeight。可以根据此关系式做很多事情,如判断盒子内容是否已完全展示出来了。

附上一段代码:可在控制台观察数值的变化

<style>
body{
/* height: 2000px; */
}
#father{
300px;
background-color: pink;
height: 300px;
overflow-y: scroll;
}
#son1{
height: 200px;
background-color: green;
}
#son2{
height: 200px;
background-color: skyblue;
}
#son3{
height: 200px;
background-color: #ccc;
}
</style>
</head>
<body>
<div id="father">
<div id="son1"></div>
<div id="son2"></div>
<div id="son3"></div>
</div>
<script>
var father = document.getElementById('father');
father.onscroll = function(){
console.log(this.scrollTop);
console.log(this.scrollHeight);
console.log(this.offsetHeight);
console.log(this.scrollTop + this.offsetHeight);
}
</script>
</body>

免责声明:文章转载自《scroll事件总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android 方向传感器VC常用小知识下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

addEventListener() 方法

首先需要了解addEventListener()的工作原理是将实现EventListener的函数或对象添加到调用它的EventTarget上的指定事件类型的事件侦听器列表中。 语法 element.addEventListener(event, function, useCapture) 参数值 参数 描述 event 必须。字符串,指定事件名...

WPF DataContext与Binding的关系

在前台UI创建一个Label绑定到myLabel <Window x:Class="WpfApp1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsof...

JAVA的mock工具mockito简介

在测试过程中,难免会碰到交互的外围系统不给力的情况,这时候mock就派上用场了,前段时间跟同学聊到这块的时候,他向我推荐mockito这个mock工具,试用了一下,确实很好用,这里给大家介绍下这款工具: 1、mockito的特点 它既能mock接口也能mock实体类(咱测试框架mock工具也能做到) 简单的注解语法-@Mock 简单易懂,语法简单 支持顺...

fancyBox简单入门

1. 下载 fancyBox,解压后根据需要将文件复制到网页文件夹中(建议不要更改目录结构),并在网页源码中引入相应的 css 样式和 js 文件(如果更改了目录结构,引入的时候请调整相应代码,对应它们所在的路径)。注意:别忘了还要先加载 jQuery 库! <!-- 加载 jQuery 库(必须) --> <script type="t...

Yarn对外接口

1 概述 Yarn对外接口 https://forum.huawei.com/enterprise/zh/forum.php?mod=viewthread&tid=451687 本文档专供需要对Yarn进行应用开发的用户使用。本指南主要适用于具备Java开发经验的开发人员。 简介 Yarn是一个分布式的资源管理系统,用于提高分布式的集群环境下的资源...

WPF多语言功能简单示例

一.本功能的原理 1、为不同语言创建不同的资源文件,如en-us.xaml、zh-cn.xaml 2、在App.xaml加载时根据配置文件的值读取不同的资源文件 3、在各窗体的xaml文件中利用动态绑定显示资源文件内容 4、更改不同语言需修改配置文件的值并重新启动程序,也可获取当前操作系统的语言类型在启动时读取不同的语言资源文件   en-us.xam...