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

上海专业建站最低价发稿软文公司

上海专业建站最低价,发稿软文公司,幼儿园建设网站企业官网,wordpress 发布视频虚拟列表,实际上就是在首屏加载的时候,只加载可视区域内需要的列表项,当滚动发生时,动态通过计算获得可视区域内的列表项,并将非可视区域内存在的列表项删除。该技术是解决渲染大量数据的一种解决方法。 实现虚拟列表&…

虚拟列表,实际上就是在首屏加载的时候,只加载可视区域内需要的列表项,当滚动发生时,动态通过计算获得可视区域内的列表项,并将非可视区域内存在的列表项删除。该技术是解决渲染大量数据的一种解决方法。
实现虚拟列表,需要获取以下几个属性

  1. 可视区域起始数据索引(startIndex)
  2. 可视区域结束数据索引(endIndex)
  3. 计算可视区域数据,并渲染到页面中
  4. 计算startIndex对应的数据在整个列表中的偏移位置listTop并设置到列表上

高度固定

令App组件(父组件)产生一万条虚拟数据来模拟接口,在List组件中实现对应的功能

App组件:

<template><div><List :items="items" :size="60" :shownumber="10"></List></div>
</template><script>
import List from '@/List.vue'
export default {components: {List},computed: {// 模拟数据items() {return Array(10000).fill('').map((item, index) => ({id: index,content: index}))}}
};
</script><style scoped></style>

List组件:

<template><div class="container" :style="{ height: containerHeight }" @scroll="handleScroll" ref="container"><!-- 数据列表 --><div class="list" :style="{top:listTop}"><!-- 列表项 --><div v-for="item in showData" :key="item.id" :style="{height:size+'px'}">{{ item.content }}</div><!-- 用于撑开高度的元素 --><div class="bar" :style="{height:barHeight}"></div></div></div>
</template><script>
export default {name: 'List',props:{// 要渲染的数据items:{type:Array,required:true},// 每条数据渲染节点的高度size:{type:Number,required:true},// 每次渲染DOM节点个数shownumber:{type:Number,required:true}},data(){return{start:0,  //要展示数据的其实下标end:this.shownumber  //结束下标}},computed:{// 最终展示数据showData(){return this.items.slice(this.start,this.end)},// 容器的高度containerHeight(){return this.size * this.shownumber + 'px'},// 撑开容器内部高度的元素的高度barHeight(){return this.size * this.items.length + 'px'},// 列表项上滚动改变top的值listTop(){return this.start * this.size + 'px'},},methods:{// 容器滚动事件handleScroll(){// 获取容器顶部滚动的尺寸const scrollTop = this.$refs.container.scrollTopthis.start = Math.floor(scrollTop / this.size)this.end = this.start + this.shownumber}}
};
</script><style scoped>
.container{overflow-y: scroll;background-color: rgb(150,150,150,.5);font-size: 20px;font-weight: bold;line-height: 60px;width: 500px;margin: 0 auto;position: relative;text-align: center;
}
.list{position: absolute;top: 0;width: 100%;
}
</style>

这样可以实现一个简单的固定高度的虚拟列表功能。

http://www.khdw.cn/news/65255.html

相关文章:

  • 万网建设网站教程seo怎么做优化
  • 天津做网站得公司互联网营销师是哪个部门发证
  • 广州微信网站建设公司seo优化的优点
  • 嘉兴高端网站定制seo优化网站百度技术
  • 南通网站优化找哪家百度资源
  • 做腰椎核磁证网站是 收 七深圳网络推广培训中心
  • 大网站建设规范企业网络营销策略分析案例
  • 没有静态ip可以做网站服务器全自动推广引流软件
  • 移动web网站开发seo网络推广有哪些
  • 做网站采集深圳网站建设找哪家公司好
  • 教育部学校规划建设发展中心官方网站seo综合查询系统
  • 迈肯奇迹做网站nba最新交易汇总实时更新
  • 万网做网站多少钱新产品怎样推广
  • 关于征求网站建设的通知在哪里查关键词排名
  • 网站开发工程师 课程大纲网盘资源搜索神器
  • 手机网站制作推广网络营销与直播电商专业介绍
  • 牡丹江商城网站建设佛山做网络优化的公司
  • b2c中日外贸有哪些网站做的好全球搜索引擎大全
  • asp网站上一篇下一篇代码网店运营培训
  • 秦皇岛网站设计网站营销方案
  • miniui做的网站网站模板建站公司
  • 小公司企业简介300字开封网站seo
  • wordpress 短链插件深圳网站优化公司
  • 北京网站建设公司分形科技营销策划公司
  • 如何设计网站中的上传功能性能优化大师
  • 专门做家教的网站百度推广一天烧几千
  • 网站做的优化 怎么排名靠后了windows10优化软件
  • 没有网站可以做seo吗google秒收录方法
  • 怀化seo四川二级站seo整站优化排名
  • 网站备案 动态ip百度云搜索引擎入口手机版