假设 let group = [ {label:"a",count:25}, {label:"b",count:3}, {label:"c",count:4}, ] 现在有10条数据塞进来,那么这个时候结果为 let result = [ {label:"a",count:25,children:[]*10}, ] 当我再加10条数据进来,结果为 let result = [ {label:"a",count:25,children:[]*20}, ] 当我再加10条数据进来,这个时候超出了label:"a"的count(25),那么结果为 let result = [ {label:"a",count:25,children:[]*25}, {label:"b",count:25,children:[]*3}, {label:"c",count:25,children:[]*2} ] 再加2条进来 let result = [ {label:"a",count:25,children:[]*25}, {label:"b",count:25,children:[]*3}, {label:"c",count:25,children:[]*4} ]
var group = [ {label:"a",count:25}, {label:"b",count:3}, {label:"c",count:4},];// 实现函数function addItemInGroup (group, data) { data = [...data]; group.some(v => { v.children = v.children || []; if (v.children.length >= v.count) { return; } let setData = data.splice(0, v.count - v.children.length); v.children.push(...setData); return !data.length; });}// 仿真模拟let result = [1,2,3,4,5,6,7,8,9,10];let cloneDeep = (v) => JSON.parse(JSON.stringify(v));addItemInGroup(group, result);console.log("result after pushing 10 items:", cloneDeep(group));addItemInGroup(group, result);console.log("result after pushing another 10 items:", cloneDeep(group));addItemInGroup(group, result);console.log("result after pushing another 10 items:", cloneDeep(group));addItemInGroup(group, [1,2]);console.log("result after pushing another 2 items:", cloneDeep(group));
这个函数 addToResult 接受两个参数:要添加的数据数组 dataArray 和要添加的数据数量 dataCount。它会将数据填充到 group 数组的 children 数组中,保证数组的长度与 count 属性相符。在填充完成后,函数将返回填充好的结果数组。
let group = [ { label: "a", count: 25 }, { label: "b", count: 3 }, { label: "c", count: 4 },];function addToResult(dataArray, dataCount) { let result = JSON.parse(JSON.stringify(group)); result.forEach((item) => { item.children = []; }); let totalDataToAdd = dataCount; let index = 0; while (totalDataToAdd > 0) { if (index >= result.length) { index = 0; } let availableSpace = result[index].count - result[index].children.length; if (availableSpace > 0) { let dataToAdd = Math.min(availableSpace, totalDataToAdd); totalDataToAdd -= dataToAdd; for (let i = 0; i < dataToAdd; i++) { result[index].children.push(dataArray.shift()); } } index++; } return result;}const dataToPush = new Array(10).fill("data");let result = addToResult(dataToPush, 10);console.log("result after pushing 10 items:", result);result = addToResult(dataToPush, 10);console.log("result after pushing another 10 items:", result);result = addToResult(dataToPush, 10);console.log("result after pushing another 10 items:", result);result = addToResult(dataToPush, 2);console.log("result after pushing another 2 items:", result);
我知道这不是一个非常精确的问题,但我不知道从哪里开始,我有一个例子是客观设计,但我找不到任何解决方案和/或文档来帮助我做这种类型的布局。 更具体地说,这是我想做的滚动效果,http://modern8.com/d5-process/ 需要注意的是,我已经尝试过FullPageJS并且我还没有能够重新创建它,如果你可以看到它的效果包括应用固定的和相对的位置根据卷轴,但是正如我所指出的,我不知道从哪里
问题内容: 用户滚动网页时如何加载内容。如何实现呢? 问题答案: 一般来说,您将需要具有这样的结构 然后,您需要检测何时接近页面末尾,并获取更多数据 您可能需要保留一个名为JavaScript之类的javascript变量,该变量存储最后显示的ID,并将其传递给AJAX接收器,以便它知道要返回的新内容。然后,您可以在AJAX中致电
页面滚动到这里的时候,图片固定不动,滚动条可以继续滚动。 缤瑞COOL官网 非常感谢!!
定义 滚动加载组件,可选方向(向上滚动、向下滚动)。 图片展示 代码演示 import InfiniteLoader from 'pile/dist/components/infiniteloader' import PermissionsCard from 'pile/dist/components/permissionsCard' const _Ringloading = React.cre
webview不支持这种写法怎么处理?
本文向大家介绍基于JavaScript实现表格滚动分页,包括了基于JavaScript实现表格滚动分页的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现表格滚动分页展示的具体代码,供大家参考,具体内容如下 CSS: JS: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。