当前位置: 首页 > wzjs >正文

官方静态网站模板下载长安网站优化公司

官方静态网站模板下载,长安网站优化公司,网站需要做实名认证如何做,徐州网站建设技术功能简介 useReachBottom 是一个 React 自定义 Hook,支持监听页面(body)或任意可滚动元素(如 div)是否滚动到底部。它能帮助你在用户滑动到底部时触发加载更多、显示提示等操作,极大提升前端交互体验。 亮…

功能简介

useReachBottom 是一个 React 自定义 Hook,支持监听页面(body)或任意可滚动元素(如 div)是否滚动到底部。它能帮助你在用户滑动到底部时触发加载更多、显示提示等操作,极大提升前端交互体验。

亮点

  • 通用性强:支持监听整个页面,也支持监听任意传入的滚动容器。
  • 兼容性好:内部对 scrollTop/scrollHeight 取值做了兼容处理,适配主流浏览器。
  • 易用性高:API 简单,直接返回是否到底部的布尔值。
  • 可自定义偏移:支持 offset 参数,灵活控制触发时机。
  • 无第三方依赖:纯 React 实现,体积小巧。

使用场景

  • 无限滚动加载:用户滑动到底部时自动加载更多内容。
  • 滚动提示:如“已到页面底部”提示条。
  • 局部滚动区域监听:如聊天窗口、评论区、弹窗等自定义滚动容器。
  • 数据上报:统计用户是否浏览到页面底部。

使用示例

1. 监听页面(body)滚动到底部

import useReachBottom from "../hooks/useReachBottom";function PageScrollDemo() {const isBottom = useReachBottom();return (<div><div>{isBottom ? "已到页面底部" : "未到页面底部"}</div>{/* 内容足够撑开页面高度 */}{Array.from({ length: 20 }).map((_, i) => (<div key={i}>内容 {i + 1}</div>))}</div>);
}

2. 监听指定 div 元素滚动到底部

import { useRef } from "react";
import useReachBottom from "../hooks/useReachBottom";function DivScrollDemo() {const divRef = useRef();const isBottom = useReachBottom(divRef);return (<div><divref={divRef}style={{ height: 200, overflow: "auto", border: "1px solid #ccc" }}>{Array.from({ length: 10 }).map((_, i) => (<div key={i}>行 {i + 1}</div>))}</div><div>{isBottom ? "已到div底部" : "未到div底部"}</div></div>);
}

useReachBottom 源码

import { useEffect, useState } from "react";export default function useReachBottom(targetRef = null, offset = 0) {const [isBottom, setIsBottom] = useState(false);useEffect(() => {const element = targetRef?.current || document.documentElement;function handleScroll() {let scrollTop, scrollHeight, clientHeight;if (targetRef?.current) {scrollTop = element.scrollTop;scrollHeight = element.scrollHeight;clientHeight = element.clientHeight;} else {// 兼容所有主流浏览器scrollTop = Math.max(window.scrollY,document.documentElement.scrollTop,document.body.scrollTop);scrollHeight = Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);clientHeight = window.innerHeight;}if (scrollHeight > clientHeight) {setIsBottom(scrollTop + clientHeight >= scrollHeight - 2 - offset);} else {setIsBottom(false);}}const scrollTarget = targetRef?.current || window;scrollTarget.addEventListener("scroll", handleScroll);handleScroll();return () => {scrollTarget.removeEventListener("scroll", handleScroll);};}, [targetRef, offset]);return isBottom;
}

 React 自定义Hook之页面或元素滚动到底部监听 Hook-useReachBottom - 高质量源码分享平台-免费下载各类网站源码与模板及前沿动态资讯

http://www.dtcms.com/wzjs/70458.html

相关文章:

  • 湖北省随州市建设厅网站百度指数手机版
  • asp access网站架设教程网上推广app
  • 企业网站制作公司排名郑州抖音seo
  • 企业型网站价目表seo入门培训学多久
  • 专门做前端项目的一些网站上海专业做网站
  • 网站做哪些主题比较容易做市场营销公司排名
  • 公司网站建设合同需要交印花税2023新闻热点摘抄
  • 中国互联网协会12321举报中心商品标题关键词优化
  • 做前端网站用什么工具推广策略可以分为哪三种
  • 网站留住访客seo排名哪家公司好
  • 传播学视角下网站建设研究问答推广
  • 做羞羞的事情网站谷歌优化排名怎么做
  • html做网站项目案例雷神代刷推广网站
  • 软件公司网站设计新闻摘抄2022最新20篇
  • 商务网站开发实验seo优化范畴
  • 苏州比较好的建筑公司搜索引擎简称seo
  • 大丰市市城乡建设局网站日本产品和韩国产品哪个好
  • 手机在线做ppt的网站有哪些问题电视剧排行榜
  • 南京建设局的网站首页外贸营销
  • 物联网管理平台功能seo排名点击器曝光行者seo
  • 不错的网站建设公司网站建设步骤
  • 如何开发微信公众号小程序seo优化的主要任务
  • 做网站用什么ui美观今日新闻最新消息
  • 怎样做企业的网站首页百度贴吧入口
  • 做网站属软件什么专业软文代写多少钱一篇
  • 学网站开发如何挣钱seo技术博客
  • 如何做网站卖家具杭州seo排名
  • 网站里面的视频功能怎么做电商运营基本知识
  • 涿州市建设局网站抖音推广网站
  • 六安网站价格一站式网络推广服务