{"id":23763773,"url":"https://github.com/tomashubelbauer/js-infinite-scroll","last_synced_at":"2025-07-21T17:33:27.337Z","repository":{"id":107986172,"uuid":"116306133","full_name":"TomasHubelbauer/js-infinite-scroll","owner":"TomasHubelbauer","description":"Bidirectional infinite scroll with configurable amount of maximum displayed and newly added items","archived":false,"fork":false,"pushed_at":"2022-04-14T20:29:16.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-01T16:41:33.713Z","etag":null,"topics":["infinite-lists","infinite-scroll","infinite-scroll-plugin","infinitescroll","javascript"],"latest_commit_sha":null,"homepage":"https://tomashubelbauer.github.io/js-infinite-scroll","language":"JavaScript","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/TomasHubelbauer.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,"zenodo":null}},"created_at":"2018-01-04T20:48:41.000Z","updated_at":"2021-04-01T20:46:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"0ffe5f8d-a838-42f7-811b-88874cd88a4d","html_url":"https://github.com/TomasHubelbauer/js-infinite-scroll","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TomasHubelbauer/js-infinite-scroll","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasHubelbauer%2Fjs-infinite-scroll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasHubelbauer%2Fjs-infinite-scroll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasHubelbauer%2Fjs-infinite-scroll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasHubelbauer%2Fjs-infinite-scroll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TomasHubelbauer","download_url":"https://codeload.github.com/TomasHubelbauer/js-infinite-scroll/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TomasHubelbauer%2Fjs-infinite-scroll/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266342809,"owners_count":23914262,"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","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["infinite-lists","infinite-scroll","infinite-scroll-plugin","infinitescroll","javascript"],"created_at":"2024-12-31T22:13:30.296Z","updated_at":"2025-07-21T17:33:27.327Z","avatar_url":"https://github.com/TomasHubelbauer.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Infinite Bidirectional Capped Scroll\r\n\r\n[**LIVE**](https://tomashubelbauer.github.io/infinite-bidirectional-capped-scroll)\r\n\r\nAn example of infinite scroll that loads new items on both hitting the bottom and the top of the page\r\nand trims the total amount of items so that a maximum number of items in the page is capped.\r\n\r\n## To-Do\r\n\r\n### Achieve smooth scroll on the horizontal axis as well\r\n\r\n### Fix behavior on Windows Firefox where scrolling to the causes oscilation\r\n\r\n### Try to preserve the scroll momentum when using the touchpad\r\n\r\nOn macOS Firefox, when flicking the touchpad to give the scroll a significant\r\nmomentum, the scrollbar reaches the bottom of the page and gets stopped abruptly\r\nwhich does not preserve its momentum. Instead, we could try detecting the speed\r\nof scrolling soon and adjust the mounted content accordingly so that it grows\r\nfast enough to drain the momentum of the scroll without reaching the end of the\r\npage before more content is loaded.\r\n\r\n### Package up as an ESM library and add depending instructions to the readme\r\n\r\nHost using GitHub Pages to get a URL with the correct MIME.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomashubelbauer%2Fjs-infinite-scroll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftomashubelbauer%2Fjs-infinite-scroll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftomashubelbauer%2Fjs-infinite-scroll/lists"}