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

可以进不良网站的浏览器青岛seo

可以进不良网站的浏览器,青岛seo,一站式营销平台,wordpress liuweili文章目录 ⭐前言⭐react 实现滚动加载⭐vue3 实现滚动加载⭐总结⭐结束 ⭐前言 大家好#xff0c;我是yma16#xff0c;本文分享 前端reactvue3——实现滚动加载#xff08;到底部加载#xff09; scrollTop 属性 一个双精度浮点值#xff0c;表示元素当前从原点垂直… 文章目录 ⭐前言⭐react 实现滚动加载⭐vue3 实现滚动加载⭐总结⭐结束 ⭐前言 大家好我是yma16本文分享 前端reactvue3——实现滚动加载到底部加载 scrollTop 属性 一个双精度浮点值表示元素当前从原点垂直滚动的像素数其中正值表示元素向下滚动以显示更多底部的内容。如果元素根本没有向上或向下滚动则 scrollTop 为 0。如果文档不是活动文档则返回值为 0。如果文档在亚像素精度设备上呈现则返回的值也是亚像素精度的可能包含小数部分。 clientHeight 属性 只读属性 Element.clientHeight 对于没有定义 CSS 或者内联布局盒子的元素为 0否则它是元素内部的高度以像素为单位包含内边距但不包括边框、外边距和水平滚动条如果存在。 clientHeight 可以通过 CSS height CSS padding - 水平滚动条高度如果存在来计算。 scrollHeight 属性 scrollHeight 只读属性是一个元素内容高度的度量包括由于溢出导致的视图中不可见内容 node系列往期文章 node_windows环境变量配置 node_npm发布包 linux_配置node node_nvm安装配置 node笔记_http服务搭建渲染html、json node笔记_读文件 node笔记_写文件 node笔记_连接mysql实现crud node笔记_formidable实现前后端联调的文件上传 node笔记_koa框架介绍 node_koa路由 node_生成目录 node_读写excel node笔记_读取目录的文件 node笔记——调用免费qq的smtp发送html格式邮箱 node实战——搭建带swagger接口文档的后端koa项目node后端就业储备知识 node实战——后端koa结合jwt连接mysql实现权限登录node后端就业储备知识 node实战——koa给邮件发送验证码并缓存到redis服务node后端储备知识 koa系列项目文章 前端vitevue3结合后端nodekoa——实现代码模板展示平台支持模糊搜索分页查询 nodevue3mysql前后分离开发范式——实现对数据库表的增删改查 nodevue3mysql前后分离开发范式——实现视频文件上传并渲染 koa-vue性能监控到封装sdk系列文章 性能监控系统搭建——node_koa实现性能监控数据上报第一章 性能监控系统搭建——vue3实现性能监控数据展示第二章 性能监控计算——封装带性能计算并上报的npm包第三章 canvas系列文章 web canvas系列——快速入门上手绘制二维空间点、线、面 webgl canvas系列——快速加背景、抠图、加水印并下载图片 webgl canvas系列——animation中基本旋转、平移、缩放模拟冒泡排序过程 ⭐react 实现滚动加载 判断滚动到底部Math.ceil(scrollTopclientHeight1) scrollHeight 这里1和向上取整是考虑到scrollTop是浮点数 react demo 案例 import { useEffect, useRef, useState, useCallback } from react; import {Button,notification} from tdesign-reactconst ScrollDemo(props:any,ref:any) {// ts-ignore 列表数据const [listData,setListData]useStateany([])// refconst scrollRefuseRefHTMLElement|any(null);// 初始化数据const initData(){const data[];for(let i1;i50;i){data.push({label:label${i},value:label${i},})}return data};// 重置const resetData(){setListData(initData())};//追加数据const appendDatauseCallback((){const data[];const lengthlistData.lengthfor(let ilength1;i10length;i){data.push({label:label${i},value:label${i},})}setListData(listData.concat(data))},[listData])//滚动事件const scrollEvent(e:any){console.log(e,e)// 不使用滚动条的情况下为了适应视口中所用内容所需的最小高度const scrollHeighte.target.scrollHeight// 从其顶部边缘滚动的像素数const scrollTope.target.scrollTop// dom 视口高度不包含任何滚动条const clientHeighte.target.clientHeightconsole.log(scrollTop,scrollTop)console.log(clientHeight,clientHeight)console.log(scrollHeight,scrollHeight)// 向上取整if(Math.ceil(scrollTopclientHeight1) scrollHeight ){notification.info({title: 到底啦,})appendData()}}//监听 dom滚动const listenDomScroll(){try{if(scrollRef.current){//ts-ignorescrollRef.current.removeEventListener(scroll,scrollEvent)scrollRef.current.addEventListener(scroll,scrollEvent)}}catch (e) {console.error(e)}};// 初始化useEffect((){resetData()},[])// 数据变化重新监听domuseEffect((){if(scrollRef.current){listenDomScroll()}},[scrollRef,listData])return div style{{padding:10px,textAlign:left}} Button onClick{resetData} style{{margin:10px}}重置 /Buttondivdiv style{{maxHeight:300px,width:200px,overflowY:auto,}} ref{scrollRef}{listData.map((item:any){return div key{item.value} style{{background:#0052d9,color:#fff,margin:2px,padding:2px}}{item.label}/div})}/div/div/div }; export default ScrollDemo 效果 ⭐vue3 实现滚动加载 vue3 demo 实例 script setup langts import { ref, reactive, onMounted } from vue import { notification } from ant-design-vue const scrollRef ref() type ListDataType { label: string, value: string } // 初始化数据 const initData (): ListDataType[] {const data: ListDataType[] [];for (let i 1; i 50; i) {data.push({label: label${i},value: label${i},})}return data }; // state const state: any reactive({listData: initData() })// 重置 const resetData () {state.listData initData() };//追加数据 const appendData () {const data: any [];const length state.listData.lengthfor (let i length 1; i 10 length; i) {data.push({label: label${i},value: label${i},})}state.listData [...state.listData, ...data] } //滚动事件 const scrollEvent (e: any) {console.log(e, e)// 不使用滚动条的情况下为了适应视口中所用内容所需的最小高度const scrollHeight e.target.scrollHeight// 从其顶部边缘滚动的像素数const scrollTop e.target.scrollTop// dom 视口高度不包含任何滚动条const clientHeight e.target.clientHeightconsole.log(scrollTop, scrollTop)console.log(clientHeight, clientHeight)console.log(scrollHeight, scrollHeight)// 向上取整if (Math.ceil(scrollTop clientHeight 1) scrollHeight) {notification.open({message: 到底啦,})appendData()} } //监听 dom滚动 const listenDomScroll () {try {if (scrollRef.value) {//ts-ignorescrollRef.value.removeEventListener(scroll, scrollEvent)scrollRef.value.addEventListener(scroll, scrollEvent)}}catch (e) {console.error(e)} };// 初始化页面 onMounted(() {listenDomScroll() })/script templatediva-button typeprimary clickresetData重置/a-buttondiv stylemax-height:300px;overflow-y:auto;width:200px refscrollRefdiv v-foritem in state.listData :keyitem.valuestylebackground:#0052d9;color:#fff;padding:2px;margin:2px;{{ item.label }}/div/div/div /template效果 代码块inscode ⭐总结 底部加载的关键判断条件是Math.ceil(scrollTop clientHeight 1) scrollHeight。 在使用react时需要注意通过dom监听数据的变化。而在使用vue3时数据具有响应式特性因此只需在滚动加载时添加数据即可。 ⭐结束 本文分享到这结束如有错误或者不足之处欢迎指出 点赞是我创作的动力 ⭐️ 收藏是我努力的方向 ✏️ 评论是我进步的财富 最后感谢你的阅读
http://www.hkea.cn/news/14291147/

相关文章:

  • 大连网站开发建深圳市建设交易网站
  • 桂阳局网站建设方案外贸英文网站搭建的公司
  • 南充网站设计学校爱网站排行
  • 郑州大型网站建设价格seo经典案例分析
  • 深圳论坛网站建设wordpress 增加 推荐
  • 秦皇岛做网站的公司哪家好网站个人信息页面布局
  • 深圳网站设计互联网品牌什么是seo和sem
  • 如何建设远程教育网站网站建设 浏览器兼容
  • 网站运营经理岳阳卖房网站
  • wordpress网站的根目录在哪口碑好的聊城网站建设
  • 可以注册邮箱的网站开封建设网站
  • 济宁培训网站建设企业网站制作前期需要什么资料
  • 哪个网站推广比较好宣传片拍摄报价明细
  • 方太网站谁做的远程教育网站建设方案
  • 山东天成水利建设 网站自己怎么制作网站
  • 西安手机网站开发精品课程网站开发项目
  • 什么什么设计英文网站站长工具收录查询
  • 濮阳做网站的专业型企业网站有哪些
  • 做网站时 404网页如何指向深圳关键词推广
  • 大型网站建设推广名校建设专题网站
  • 如何做网站焦点图佛山网站建设网站
  • 避免网站侵权注册1000万公司每年费用多少
  • 记事本做网站怎么调整图片间距写软文的app
  • 郑州网站设计 公司网站网站开发软件
  • 网上做家教哪个网站微信开发公众平台
  • 东莞网站制作方案定制外贸假发网站
  • 青岛建设网站企业淘宝客不建网站怎样做
  • 网区建站产品设计工程师
  • 电子商务网站建设报告分析vi平面设计公司
  • 网站建设与管理 教学视频开封市建设银行网站