判断div滑动到底部的scroll代码

本文介绍了一种使用jQuery来判断div元素是否滑动到底部的方法,并通过具体实例展示了如何实现这一功能。该方法利用div可视区域的高度、滚动的高度以及滚动条的位置来进行判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE html>
<html>
<head>
    <title>判断div滑到底部的代码</title>
    <script type="text/javascript" src="jquery-3.1.0.min.js"></script>
    <style type="text/css">
        #scrollTest{
            width:100px;
            height:100px;
            overflow-y: auto;//当div中y方向的内容溢出时,y轴分别显示滚动条
            border:1px solid red;
        }
    </style>
</head>
<body>
    <div id="scrollTest">
        <table>
            <tr>
                <td>111</td>
                <td>222</td>
            </tr>
            <tr>
                <td>111</td>
                <td>222</td>
            </tr>
            <tr>
                <td>111</td>
                <td>222</td>
            </tr>
            <tr>
                <td>111</td>
                <td>222</td>
            </tr>
            <tr>
                <td>111</td>
                <td>222</td>
            </tr>
            <tr>
                <td>111</td>
                <td>222</td>
            </tr>
            <tr>
                <td>111</td>
                <td>222</td>
            </tr>
        </table>
    </div>
</body>
</html>
<!--//事先得引入jQuery文件-->
<script type="text/javascript">
    $("#scrollTest").scroll(function(){
        var h = $(this).height();//div可视区域的高度
        var sh = $(this)[0].scrollHeight;//滚动的高度,$(this)指代jQuery对象,而$(this)[0]指代的是dom节点
        var st =$(this)[0].scrollTop;//滚动条的高度,即滚动条的当前位置到div顶部的距离
        if(h+st>=sh){
        //上面的代码是判断滚动条滑到底部的代码
            //alert("滑到底部了");
            $("#scrollTest").append(111+"<br>");//滚动条滑到底部时,只要继续滚动滚动条,就会触发这条代码.一直滑动滚动条,就一直执行这条代码。
        }
    })
</script>
### Vue2 实现 div 滚动到底部触发事件 为了实现在 `div` 元素滚动到底部时触发相应操作的功能,可以采用监听 `div` 的滚动事件并判断其是否已达到底部的方式。下面提供一种基于 Vue2 和上述参考资料中的方法来实现这一功能。 #### HTML 结构定义 首先,在模板部分创建一个具有特定类名的容器用于显示列表项,并为其绑定自定义的滚动处理函数: ```html <div ref="scrollBox" class="scroll_box" @scroll="handleScroll"> <div v-for="(item, index) in items" :key="index">{{ item }}</div> </div> ``` 这里通过 `ref` 属性指定了该元素的一个引用名称以便后续访问它的真实 DOM 对象;同时设置了内联样式使此区域可滚动(`overflow-y: auto`)。 #### CSS 样式设定 接着为 `.scroll_box` 添加必要的样式使其能够正常显示滚动条: ```css .scroll_box { height: 300px; overflow-y: auto; } .item { padding: 10px; border-bottom: 1px solid #ccc; } ``` 以上代码片段设定了固定高度以及允许纵向溢出的内容被隐藏起来形成滚动条的效果[^3]。 #### JavaScript 方法编写 最后,在组件内部定义响应于滚动行为变化的方法——即每当用户上下拖拽滚动条时都会调用这个回调函数来进行逻辑运算: ```javascript export default { data() { return { items: Array.from({ length: 20 }).map((_, i) => 'Item ' + (i + 1)) } }, methods: { handleScroll(event) { const el = event.target || this.$refs.scrollBox; // 判断是否接近或已经到达底部 if ((el.scrollTop + el.offsetHeight >= el.scrollHeight - 5)) { console.log('Reached near bottom'); // 此处放置实际业务逻辑,比如加载更多数据等... } } } }; ``` 这段脚本里包含了两个主要的部分:一是初始化了一些模拟的数据作为初始展示内容;二是实现了名为 `handleScroll()` 的处理器用来检测当前视窗位置相对于整个文档的高度比例关系,一旦满足条件则打印一条消息表示达到了指定范围内的最底端[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值