原生js判断某个区域的滚动条滚动到了底部###

讲解==》

关系公式:element.scrollHeight - element.scrollTop === element.clientHeight

解释:此公式可以用于判断是否滚动到底

你必须知道这个方法 可以判断滚动条滚动到了底部哈!

element.scrollHeight 是获取这个元素区域的实际高度(包含被隐藏起来的高度)

element.scrollTop是获取滚动条距离顶部的实际距离(包含被隐藏起来的高度)

element.clientHeight: 就是元素内部(可见高度) + 自身padding

在生命周期函数中 给滚动区域的元素注册滚动事件

element.addEventListener('scroll', this.doSomething);

  <div id="app">
<div class="box" id="box">
<div class="demo" v-for="(item,index) in condata" :key="index">{{item}}</div>
</div>
</div>

<!-- import Vue before Element -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- import JavaScript -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script src="https://unpkg.com/element-ui@2.4.11/lib/index.js"></script>
<script>
new Vue({
el: '#app',
data() {
return {
condata:["121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","121212",
"121212","121212","121212","121212","121212","121212","121212","121212","最后一条数据了",
],
boxScrollpositionHeight:0,
boxElement:"",
boxscrollPosition:0,//滚动条所在的高度()
}
},
mounted () {
this.boxElement=document.getElementById("box"); this.boxElement.addEventListener('scroll', this.doSomething); // 获取滚动条滚动区域盒子的高度 this.boxScrollpositionHeight=this.boxElement.offsetHeight;
console.log("div内容区域的实际高度",this.boxElement.scrollHeight)
},
methods: {
doSomething(){ //此时滚动条所在的高度
let scrollcurHeight=this.boxElement.scrollTop; console.log("滚动条距离顶部的实际高度",this.boxElement.scrollTop)
console.log("hah",this.boxElement.clientHeight) // 关系公式:element.scrollHeight - element.scrollTop === element.clientHeight
// 解释:此公式可以用于判断是否滚动到底
   if(this.boxElement.scrollHeight-this.boxElement.scrollTop===this.boxElement.clientHeight){
console.log("滚动到底部了",)
}
}
},
beforeDestroy() {
let boxscrollPosition=document.getElementById("box");
boxscrollPosition.removeEventListener('scroll', this.doSomething);
},
})
</script>
  <style type="text/css">
*{
padding: 0;
margin: 0;
}
body,html,#app{
height: 100%;
}
.box{
width: 300px;
height: calc(100% - 279px);
background: #0366D6;
overflow: hidden;
overflow-y: auto;
} .demo{
height: 30px;
line-height: 30px;
border-top:1px solid #ccc;
} </style>

原生js判断某个区域的滚动条滚动到了底部的更多相关文章

  1. JS判断页面是否出现滚动条

    今天无聊,帮一个网友解决一个很无聊的问题,用JS判断页面是否出现滚动条,在网上看了一些代码,经过验证并不起作用,下面是在网上搜索到的代码: 当可视区域小于页面的实际高度时,判定为出现滚动条,即: if ...

  2. 原生js判断css动画结束 css 动画结束的回调函数

    原文:原生js判断css动画结束 css 动画结束的回调函数 css3 的时代,css3--动画 一切皆有可能: 传统的js 可以通过回调函数判断动画是否结束:即使是采用CSS技术生成动画效果,Jav ...

  3. JS 判断鼠标滚轮的上下滚动

    JS 判断鼠标滚轮的上下滚动   <script type="text/javascript"> var scrollFunc = function (e) { e = ...

  4. 当滚动条滚动到页面底部自动加载增加内容的js代码

    这篇文章主要介绍了如何使用javscript实现滚动条滚动到页面底部自动加载增加页面内容,需要的朋友可以参考下..1,注册页面滚动事件,window.onscroll = function(){ }; ...

  5. js 判断一个元素是否在滚动的可视区域内,不在就固定到可视区域的上方。

    前言:最近工作中,有这样一个场景,判断一个元素是否在滚动的可视区域内,不在就固定到可视区域的上方.为了以后再次遇到,所以记录下来,并分享.转载请注明出处:https://www.cnblogs.com ...

  6. 判断滚动条滚动到document底部

    滚动条没有实际的高度.只是为了呈现效果才在外型上面有长度. 在js当中也没有提供滚动条的高度API. 参考了网上有关资料:判断滚动条到底部的基本逻辑是滚动条滚动的高度加上视口的高度,正好是docume ...

  7. 原生js判断css3动画过度(transition)结束 transitionend事件 以及关键帧keyframes动画结束(animation)回调函数 animationEnd 以及 css 过渡 transition无效

      上图的 demo 主要讲的 是 css transition的过渡回调函数transitionend事件: css3 的时代,css3--动画 一切皆有可能: 传统的js 可以通过回调函数判断动画 ...

  8. 通过 JS 判断页面是否有滚动条的简单方法

    前言 最近在写插件的过程中,需要使用 JS 判断是否有滚动条,搜了一下,大致方法都差不多,但都有些啰嗦,代码不够简洁.最终通过参考不同方法,写了一个比较简单的方法.在判断滚动条的同时也需要计算滚动条的 ...

  9. 无间歇文字滚动_ 原生js实现新闻无间歇性上下滚动

    这篇文章主要介绍使用js实现文字无间歇性上下滚动,一些网站的公告,新闻列表使用的比较多,感兴趣的小伙伴们可以参考一下 ,代码实现如下. html+css部分: <style> #moocb ...

  10. 原生JS判断密码强弱

    前些天工作中有这个需求,自己手写了相关的JS代码,第一种方法是通过ASCII 码判断密码类型,完成用户注册时判断用户输入密码的强度,分强.弱.中三等级,它可以根据用户输入的密码显示对应的密码强弱等级, ...

随机推荐

  1. 华为云GaussDB新产品特性亮相DTC2021,重磅新品开源预告

    摘要:华为云数据库产品部CTO庄乾锋携3位GaussDB技术专家在DTC2021大会上分享了产品最新技术.优秀实践案例,以及透露了重大新品即将开源,以数据驱动业务发展,为企业数字化转型持续注入新动力. ...

  2. 百度高德地图行政区域边界GeoJSON数据获取并绘制行政区域

    highcharts 是提供地图数据包的:https://www.highcharts.com/docs/maps/map-collection echart矢量地图或者地图绘制矢量图层,GeoJSO ...

  3. Java -jar 运行 报 MalformedInputException: Input length = 1

    Intellij IDEA 中运行正常,linux 运行正常, cmd 下运行 报:MalformedInputException: Input length = 1 微服务项目,在Nacos中做了配 ...

  4. STM32CubeMX教程15 ADC - 多重ADC转换

    1.准备材料 开发板(正点原子stm32f407探索者开发板V2.4) STM32CubeMX软件(Version 6.10.0) keil µVision5 IDE(MDK-Arm) ST-LINK ...

  5. 精细化边缘安全防护:如何防止CDN域名被恶意刷量?

    越是数字化时代,越要做好基建"安全"的顶层设计 随着消费及产业互联网的不断发展,数字化将实现全场景覆盖,人类的生活和生产方式也随之不断改变. 内容分发网络CDN(Content D ...

  6. 在Windows上D盘上安装Docker

    Reference https://www.willh.cn/articles/2022/07/13/1657676401964.html Docker默认安装在C盘: "C:\Progra ...

  7. AIO异步通信。BIO同步阻塞式IO, NIO同步非阻塞通信。

    IO 什么是IO? 它是指计算机与外部世界或者一个程序与计算机的其余部分的之间的接口.它对于任何计算机系统都非常关键,因而所有 I/O 的主体实际上是内置在操作系统中的.单独的程序一般是让系统为它们完 ...

  8. 智慧城市大数据运营中心 IOC 之 Web GIS 地图应用

    前言 IOC(Intelligent Operations Center)--智慧城市智能运营中心就是智慧城市的大脑,是建立在各个智慧应用系统之上的系统.通过对政府各职能部门的业务信息共享与整合,聚焦 ...

  9. Vue3.0 + Element Plus整合实战

    mall-vue3-manage 基于vue3.0 + Element Plus. 整合最新的 Echarts5 强劲的渲染引擎.富文本编辑器 Wangeditor 的后端管理项目. 版本 vue 3 ...

  10. JavaScriptif while for switch流程控制 JS函数 内置对象

    1,if else语句 2,if else if else语句 3,switch语句 4,for循环 5,while循环 6,三元运算 7,JS中的函数 8,JS中的匿名函数 9,JS中的立即执行函数 ...