# blasten/turn.js

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/blasten-turn-js).**

7,473 stars · 2,555 forks · JavaScript · NOASSERTION

## Links

- GitHub: https://github.com/blasten/turn.js
- Homepage: www.turnjs.com
- awesome-repositories: https://awesome-repositories.com/repository/blasten-turn-js.md

## Description

turn.js is an HTML5 page flip library and digital book viewer used to render documents as interactive books. It simulates realistic book page-turning effects for web content and provides a navigation interface for flipping through pages via mouse clicks or touch gestures.

The library supports both single and double page layouts and can synchronize the current page position with browser navigation history. It allows for the dynamic loading of page content and the ability to manage book pages by adding or removing individual sections.

Capability areas include content magnification through zooming, the ability to intercept navigation events to trigger custom logic, and the management of animation states to stop or disable flip effects.

## Tags

### Business & Productivity Software

- [Digital Book Viewers](https://awesome-repositories.com/f/business-productivity-software/digital-book-viewers.md) — Implements a digital book viewer that renders documents with interactive single and double page layouts.
- [Page-Turning Engines](https://awesome-repositories.com/f/business-productivity-software/knowledge-content-creation/reading-and-writing-tools/novel-reading-interfaces/page-turning-engines.md) — Implements a realistic page-turning engine that simulates physical book movement using hardware acceleration. ([source](https://github.com/blasten/turn.js/wiki/Reference))

### Content Management & Publishing

- [Digital Publication Renderers](https://awesome-repositories.com/f/content-management-publishing/digital-publication-renderers.md) — Provides a rendering engine for creating online books and magazines that simulate physical page turning.
- [Interactive Document Viewers](https://awesome-repositories.com/f/content-management-publishing/interactive-document-viewers.md) — Displays multi-page content that can be loaded on demand while maintaining a cohesive book-like layout.
- [Interactive E-book Frameworks](https://awesome-repositories.com/f/content-management-publishing/interactive-e-book-frameworks.md) — Provides the core functionality for developing interactive e-books with realistic page-flip animations.
- [Page Insertion](https://awesome-repositories.com/f/content-management-publishing/page-insertion.md) — Provides capabilities to dynamically insert new pages into the digital book structure on demand.
- [Page Layout Adjustments](https://awesome-repositories.com/f/content-management-publishing/page-layout-adjustments.md) — Modifies the reading area dimensions to switch between single and double page display modes. ([source](https://github.com/blasten/turn.js/wiki/Reference))

### Graphics & Multimedia

- [Coordinate-Based Animation Systems](https://awesome-repositories.com/f/graphics-multimedia/coordinate-based-animation-systems.md) — Implements precise page-fold calculations based on user touch and mouse coordinates to drive the flip animation.
- [Page-Flip Animations](https://awesome-repositories.com/f/graphics-multimedia/page-flip-animations.md) — Provides a JavaScript library for simulating realistic, hardware-accelerated book page-turning effects.

### User Interface & Experience

- [Hardware-Accelerated UI Transitions](https://awesome-repositories.com/f/user-interface-experience/hardware-accelerated-ui-transitions.md) — Uses GPU-accelerated transforms and 3D CSS transitions to simulate realistic physical page bending.
- [Direct Page Input Navigation](https://awesome-repositories.com/f/user-interface-experience/pagination-navigation/direct-page-input-navigation.md) — Provides controls to navigate to specific page numbers or move sequentially through previous and next views. ([source](https://github.com/blasten/turn.js/wiki/Reference))
- [Flip-book Presentations](https://awesome-repositories.com/f/user-interface-experience/flip-book-presentations.md) — Enables the presentation of product catalogs and portfolios using a digital flip-book interface.
- [Touch Navigation Interfaces](https://awesome-repositories.com/f/user-interface-experience/navigation-components/touch-navigation-interfaces.md) — Implements a navigation interface allowing users to flip through pages via mouse clicks or touch gestures.
- [Split-Page Layouts](https://awesome-repositories.com/f/user-interface-experience/page-layout-frameworks/split-page-layouts.md) — Supports dividing a single page view into two distinct parts for a classic book-spread layout. ([source](http://www.turnjs.com/))
- [Layout State Refreshes](https://awesome-repositories.com/f/user-interface-experience/state-driven-view-refreshing/layout-state-refreshes.md) — Recalculates container dimensions and offsets to toggle between single and double page view layouts.
- [URL-Synchronized Navigation](https://awesome-repositories.com/f/user-interface-experience/url-synchronized-navigation.md) — Binds the current page index to the browser URL to enable bookmarking and history navigation.

### Web Development

- [Content Page Managers](https://awesome-repositories.com/f/web-development/custom-page-frameworks/page-content-injections/content-page-managers.md) — Renders multi-page content as an interactive digital book with realistic page-turn transitions. ([source](http://www.turnjs.com/))
- [Book Page Managers](https://awesome-repositories.com/f/web-development/custom-page-frameworks/page-content-injections/content-page-managers/book-page-managers.md) — Enables dynamic addition and removal of individual pages and updates the total page count. ([source](https://github.com/blasten/turn.js/wiki/Reference))
- [Dynamic Content Loading](https://awesome-repositories.com/f/web-development/dynamic-content-loading.md) — Fetches page content via network requests to insert new sections without refreshing the interface. ([source](http://www.turnjs.com/))

### Software Engineering & Architecture

- [Event Interception](https://awesome-repositories.com/f/software-engineering-architecture/event-interception.md) — Allows intercepting page-turn events to execute custom logic or cancel the navigation movement. ([source](https://github.com/blasten/turn.js/wiki/Reference))
- [Custom State Transition Hooks](https://awesome-repositories.com/f/software-engineering-architecture/state-transition-models/custom-state-transition-hooks.md) — Executes custom logic hooks before and after page transitions to allow for synchronization or cancellation.

### Testing & Quality Assurance

- [Browser History Navigations](https://awesome-repositories.com/f/testing-quality-assurance/browser-history-navigations.md) — Synchronizes the internal book position with the browser's back and forward navigation history. ([source](http://www.turnjs.com/))
