# The Big Box of Javascript ## Polyfills - [Fake IndexedDB](https://github.com/dumbmatter/fakeIndexedDB) - A pure JS in-memory implementation of the IndexedDB API ## Net - [jsRequest](https://github.com/danilo-valente/jsRequest) - Fast and easy asynchronous JavaScript files loading. - [frameSync](https://github.com/activenode/frameSync) - Synchonise ultiple different browser windows that are displaying content from the same domain ## Searching - [lunr.js](http://lunrjs.com/) - A lightweight search engine to use - [Defiant.js](http://www.defiantjs.com/) - Search JSON structures with XPath expressions - [Awesomplete](https://leaverou.github.io/awesomplete/) - Ultra lightweight autocomplete engine with no dependencies - [horsey](http://bevacqua.github.io/horsey/) - An alternative autocomplete engine. Doesn't support getting entries from HTML, but does support fetching options asynchronously (i.e. AJAX). - [Olly.js](https://github.com/abeisgreat/Olly.js) - Rich snippets engine ## Saving - [localStorage Bridge](https://github.com/krasimir/lsbridge) - A really cool library that lets you send & receive messages via localStorage. Useful to let all the pages a user has open communicate with each other. ## Media - [audiosynth](http://keithwhor.github.io/audiosynth/) - A wonderfully simple (albeit underdocumented) library for synthesising notes from various instruments. Not the most powerful, but easy to use. - [textgen.js](https://github.com/mrdoob/texgen.js) - A procedural texture generator written in pure javascript ## Display - [ramjet](http://www.rich-harris.co.uk/ramjet/) - Lets you transform one DOM element into another with a smooth transisition - [ifvisible.js](https://github.com/serkanyersen/ifvisible.js) - Super simple library to detect if the user is actually looking at your page at a given moment - [marklib](http://bowlingx.github.io/marklib/) - Highlight any text on a web page. - [spin.js](http://fgnass.github.io/spin.js/) - Generate your loading spinners dynamically. - [ItemSlide.js](http://itemslide.github.io/) - A mobile friendly carousel of cards. ### 3D - [WebGLStudio.js](http://webglstudio.org/) - A seriously interesting looking platform that lets create and / or edit webgl scenes. ## Popup Boxes - [NanoModal](https://github.com/kylepaulsen/NanoModal) - Display those modals dialogs easily - [basicContext](https://github.com/electerious/basicContext) - Create custom right click menus easily - [Headhesive](https://markgoodyear.com/labs/headhesive/) - Create customiseable fixed headers that appear at certain points on a page ## Progress bars - [Mprogress.js](https://lightningtgc.github.io/MProgress.js/) - A progress bar based on material design - [ProgressBar.js](https://kimmobrunfeldt.github.io/progressbar.js/) - Another progress bar library - [Elevator.js](http://tholman.com/elevator.js/) - An awesome script that "solves those awkward scroll to top moments the old fashioned way" :D - [layzr.js](https://github.com/callmecavs/layzr.js) - A lightweight library that makes lazy loading ridiculously easy ## Input tools - [Keypress](https://dmauro.github.io/Keypress/) - Simple but powerful keyboard input library - [Squire](https://neilj.github.io/Squire/) - Turn a simple `