{"id":20842861,"url":"https://github.com/leopoldthecoder/perspective","last_synced_at":"2026-02-20T07:01:54.506Z","repository":{"id":34709103,"uuid":"38685493","full_name":"Leopoldthecoder/Perspective","owner":"Leopoldthecoder","description":"🖼Parallax scrolling effect. And more.","archived":false,"fork":false,"pushed_at":"2026-01-22T00:45:25.000Z","size":6222,"stargazers_count":85,"open_issues_count":4,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-01-22T13:55:28.221Z","etag":null,"topics":["parallax","parallax-javascript-library","parallax-scrolling","parallax-tilt","parallax-translate","tilt-effect","vanilla-javascript"],"latest_commit_sha":null,"homepage":"https://perspective.js.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Leopoldthecoder.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2015-07-07T12:14:56.000Z","updated_at":"2026-01-22T00:45:23.000Z","dependencies_parsed_at":"2024-02-27T02:47:06.724Z","dependency_job_id":"d75a9b11-ef6b-41a6-a045-ff8eea9624dc","html_url":"https://github.com/Leopoldthecoder/Perspective","commit_stats":null,"previous_names":["leopoldthecoder/perspective.js"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Leopoldthecoder/Perspective","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leopoldthecoder%2FPerspective","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leopoldthecoder%2FPerspective/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leopoldthecoder%2FPerspective/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leopoldthecoder%2FPerspective/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Leopoldthecoder","download_url":"https://codeload.github.com/Leopoldthecoder/Perspective/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Leopoldthecoder%2FPerspective/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29643960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T05:21:04.652Z","status":"ssl_error","status_checked_at":"2026-02-20T05:21:04.238Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["parallax","parallax-javascript-library","parallax-scrolling","parallax-tilt","parallax-translate","tilt-effect","vanilla-javascript"],"created_at":"2024-11-18T01:25:47.415Z","updated_at":"2026-02-20T07:01:54.499Z","avatar_url":"https://github.com/Leopoldthecoder.png","language":"JavaScript","readme":"# Perspective.js\n\n[Documentation](https://perspective.js.org) | [Demo](https://perspective.js.org/examples/)\n\nParallax scrolling/hovering effect. And more.\n\n## Features\n\n- Parallax scroll, parallax tilt and parallax translate effects\n- Any CSS properties with number values are supported\n- Written in TypeScript with full type definitions\n- Zero runtime dependencies\n\n## Installation\n\n### npm\n\n```shell\nnpm install perspective.js\n# or\npnpm add perspective.js\n# or\nyarn add perspective.js\n```\n\nThen in your project:\n\n```typescript\nimport { Scroll, Hover } from 'perspective.js'\n```\n\n### CDN\n\n```html\n\u003cscript src=\"https://unpkg.com/perspective.js/dist/perspective.umd.js\"\u003e\u003c/script\u003e\n```\n\nOnce loaded, Perspective.js will register `perspective` to the `window` object, and it has two attributes: `Scroll` and `Hover`.\n\n## Usage\n\n### Parallax scroll\n\n```typescript\nimport { Scroll } from 'perspective.js'\n\nnew Scroll('#wrap', {\n  stages: [{\n    id: 'basic',\n    scrollNumber: 60,\n    transition: 0,\n    items: [{\n      id: 'slow',\n      effects: [{\n        property: 'transform',\n        start: 'translateY(0px)',\n        end: 'translateY(-50px)'\n      }]\n    }, {\n      id: 'fast',\n      effects: [{\n        property: 'transform',\n        start: 'translateY(0px)',\n        end: 'translateY(-180px)'\n      }]\n    }]\n  }]\n})\n```\n\n### Parallax translate\n\n```typescript\nimport { Hover } from 'perspective.js'\n\nnew Hover('#wrap', {\n  max: 0,\n  scale: 1.1,\n  perspective: 500,\n  layers: [{\n    multiple: 0.1,\n    reverseTranslate: true\n  }, {\n    multiple: 0.3,\n    reverseTranslate: true\n  }]\n})\n```\n\n### Parallax tilt\n\n```typescript\nimport { Hover } from 'perspective.js'\n\nnew Hover('#wrap', {\n  max: 400,\n  scale: 1.1,\n  perspective: 500\n})\n```\n\n## Inspirations\n\n- [skrollr](https://github.com/Prinzhorn/skrollr)\n- [pressels.com](http://pressels.com/)\n- [Tilt.js](https://github.com/gijsroge/tilt.js) and [vanilla-tilt.js](https://github.com/micku7zu/vanilla-tilt.js)\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleopoldthecoder%2Fperspective","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fleopoldthecoder%2Fperspective","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fleopoldthecoder%2Fperspective/lists"}