{"id":18356525,"url":"https://github.com/lbwa/how-virtual-scroll-works","last_synced_at":"2025-10-17T19:20:35.294Z","repository":{"id":96822187,"uuid":"251623907","full_name":"lbwa/how-virtual-scroll-works","owner":"lbwa","description":"How virtual scroll works","archived":false,"fork":false,"pushed_at":"2020-04-01T13:52:18.000Z","size":397,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-10T01:58:34.797Z","etag":null,"topics":["virtual-scroll"],"latest_commit_sha":null,"homepage":"https://lbwa.github.io/how-virtual-scroll-works","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lbwa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-31T14:14:56.000Z","updated_at":"2020-04-01T13:49:02.000Z","dependencies_parsed_at":"2023-03-21T01:32:52.522Z","dependency_job_id":null,"html_url":"https://github.com/lbwa/how-virtual-scroll-works","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lbwa/how-virtual-scroll-works","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbwa%2Fhow-virtual-scroll-works","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbwa%2Fhow-virtual-scroll-works/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbwa%2Fhow-virtual-scroll-works/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbwa%2Fhow-virtual-scroll-works/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lbwa","download_url":"https://codeload.github.com/lbwa/how-virtual-scroll-works/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lbwa%2Fhow-virtual-scroll-works/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266071519,"owners_count":23871940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["virtual-scroll"],"created_at":"2024-11-05T22:10:35.245Z","updated_at":"2025-10-17T19:20:30.217Z","avatar_url":"https://github.com/lbwa.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eHow virtual scroll works\u003c/h1\u003e\n\nThis project is used to describe how virtual scroll works.\n\n- Q: Why we use virtual scroll, instead of normal infinite scroll?\n\n  A: Reduce DOM nodes memory usage significantly.\n\nTo be notice, there is no sliver bullet. You'd better use virtual scroll if there are thousands of nodes that need to be rendered. Otherwise, normal infinite scroll would be better solution.\n\n## Core\n\nThe key is how to calculate visible elements and simulate scrolling virtually.\n\n## License\n\nMIT © [Bowen Liu](https://set.sh)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbwa%2Fhow-virtual-scroll-works","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flbwa%2Fhow-virtual-scroll-works","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flbwa%2Fhow-virtual-scroll-works/lists"}