原生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. HBuilderX获取iOS证书的打包步骤

    简介: 目前app开发,很多企业都用H5框架来开发,而uniapp又是这些h5框架里面最成熟的,因此hbuilderx就成为了开发者的首选.然而,打包APP是需要证书的,那么这个证书又是如何获得呢? ...

  2. Walrus 入门教程:如何创建模板以沉淀可复用的团队最佳实践

    模板是 Walrus 的核心功能之一,模板创建完成后用户可以重复使用,并在使用过程中逐渐沉淀研发和运维团队的最佳实践,进一步简化服务及资源的部署.用户可以使用 HCL 语言自定义创建模板,也可以一键复 ...

  3. 火山引擎AB测试:广告实验深度打通巨量引擎,高效测试广告素材

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近期,火山引擎AB测试DataTester上线了新版的广告AB实验,还推出了与巨量引擎深度打通的能力.用户可以 ...

  4. Sublime Text Python 代码提示插件 Anaconda

    1.Ctrl+Shift+P -> install package 安装 Anaconda 查看Python 安装路径 { "python_interpreter":&quo ...

  5. Python 网络舆情分析系统,舆论可视化界面

    1 简介 舆情管理系统,这不仅仅可以帮助当地的管理人员迅速的排查跟本地有关的负面言论,还可以避免网民因为本身意识不到位而评论或发布一些不好的观点的情况,最终的目的就是帮助社会更好的发展. 2 技术栈 ...

  6. VS遇到 error C4996问题的解决方法

    在编译c++程序时报如下错: error C4996: 'strncat': This function or variable may be unsafe. Consider using strnc ...

  7. 十五、跨主机通信overlay网络

    系列导航 一.docker入门(概念) 二.docker的安装和镜像管理 三.docker容器的常用命令 四.容器的网络访问 五.容器端口转发 六.docker数据卷 七.手动制作docker镜像 八 ...

  8. 2 Englishi 词根

    11 mis 错 misuse misfortune misunderstand 12 out 超过: 外 outnumber outspend outdoor 13 over 过度 overprai ...

  9. SV Interface and Program 2

    Clocking:激励的时序 memory检测start信号,当start上升沿的时候,如果write信号拉高之后,将data存储到mem中 start\write\addr\data - 四个信号是 ...

  10. 【收集】C & C++

    序 链接 备注 1 C语言0长度数组(可变数组/柔性数组)详解_CHENG Jian的博客-CSDN博客_0数组   2 C 语言参考 | Microsoft Learn   3 C++ 语言参考 | ...