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

梁山专做网站的公司自己在线制作logo免费模版

梁山专做网站的公司,自己在线制作logo免费模版,设计摄影作品,建设单位适合去哪个网站看资料前言:当一个页面中需要接受接口返回的全部数据进行页面渲染时间,如果数据量比较庞大,前端在渲染dom的过程中需要花费时间,造成页面经常出现卡顿现象。 需求:通过虚拟加载,优化页面渲染速度 缺点&#xff1a…

前言:当一个页面中需要接受接口返回的全部数据进行页面渲染时间,如果数据量比较庞大,前端在渲染dom的过程中需要花费时间,造成页面经常出现卡顿现象。

需求:通过虚拟加载,优化页面渲染速度

缺点:需要固定好每一行元素的高度

实现方法:

策略:设置可视区域高度、滚动高度、每个元素高度、初始展示的元素数据,通过监听滚动条滚动高度,根据高度重新获取需要展示的数据进行遍历

export default class Cp extends Component {constructor(props){super(props)this.state = {dataListTotal: 100,// 元素总数据dataList: new Array(100).fill().map((item,index)=>index+1),// 初始展示数据showDataList: new Array(20).fill().map((item,index)=>index+1),// 每个元素高度itemHeight: 20,// 可视区域高度viewHeight: 300}}handleScrollChange = (e)=>{const {itemHeight, viewHeight, dataList} = this.state// 获取滚动距离let scrollTop = e.target.scrollTop;// 初始元素索引 = 滚动距离 / 每一项的高度const startIndex = Math.round(scrollTop / itemHeight);// 结束元素索引 = 初始索引 + 容器高度 / 每一项的高度const endIndex = startIndex + viewHeight / itemHeight;// 截取数据let showDataList = dataList.slice(startIndex, endIndex);this.setState({showDataList,scrollTop,})}render(){const {showDataList, scrollTop} = this.stateconsole.log(showDataList, 'showDataList')return <div className='container' onScroll={this.handleScrollChange}>// 可视区域,撑起内部高度,让外层容器产生滚动条<div className='scroll-container'></div>// 元素区域,transform:给元素容器设置偏移量,让元素在可视区域内呈现<div className='item-container' style={{transform: 'translateY(' + scrollTop + 'px)',}}>{Array.isArray(showDataList) && showDataList.length > 0? showDataList.map(item=>{return <div className='item-content'>{item}</div>}): null}</div></div>}
}
// 可视区域容器的样式
.container {width: 200px;height: 300px;border: 1px solid #ff6d00;overflow-y: scroll;position: relative;
}// 滚动容器的样式
.scroll-container {height: 2000px;
}// 每个元素的容器样式
.item-container {position: absolute;top: 0;left: 0;
}.item-content {height: 20px;
}

http://www.yayakq.cn/news/721491/

相关文章:

  • 如何做下载网站赚钱wordpress生成推广链接地址
  • 如何做网站服务器免费网站建设代理
  • python 网站开发那个好2024年住建部最新消息
  • 企业网站规划书做图书馆网站的语言
  • 宁波手机网站制作个人域名推荐
  • 网站ico制作phpcms网站seo怎么做
  • 做一份网站动态图多少钱wordpress列表主题
  • 外包+网站开发公司蚁坊舆情
  • 自助网站建设公司自学做包装设计的步骤
  • 买什么就开什么网站吗网站开发与设计实训报告1000字
  • 如何做网站搭桥链接交互网站 百度
  • 建设银行绑定手机号码网站怎么做捐款网站
  • 如何在国外网站开发新客人个人网站设计首页
  • 建设一个网站的流程.宁波网站建设流程图
  • 青岛高品质网站制作合肥广告公司
  • 做网站一个月能挣多少钱购物商城模板
  • wordpress 空白框架宁波网站推广优化公司怎么样
  • 企业网站开发怎么样wordpress做一个审核程序
  • 亳州企业网站建设wordpress 文章调用js
  • 郑州企业自助建站系统wordpress 移动端
  • 珠海网站建设小小网络旗袍网站架构
  • 西安网站设计外包公司足球网站模板下载
  • 伍佰亿搜索引擎网站系统邢台网站优化公司
  • 2014山东春季高考网站建设17zwd一起做网店潮汕站
  • 信息型网站建设的目的定位东港建站公司
  • 家居饰品网站建设论文民航资源网
  • 最牛的网站建设课题网站建设验收总结报告
  • 网站建设口号企业年检网上申报流程
  • 哪个网站推广好快速开发平台有哪些
  • 网站制作怎么做wordpress 登陆窗口