Coder Social home page Coder Social logo

rohan-buechner / tremulajs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from garris/tremulajs

0.0 0.0 0.0 5.47 MB

TremulaJS: Picture Streams + Momentum Engine + Bézier Paths + Multi-Device

License: GNU General Public License v3.0

HTML 3.03% JavaScript 96.27% CSS 0.70%

tremulajs's Introduction

TremulaJS

Picture Streams + Momentum Engine + Bézier Paths + Cross-Browser + Cross-Device

TremulaJS is a client-side javascript UI component providing Bézier-based content-stream interactions with momentum & physics effects for mouse, scroll and and touch UIs.

Put another way, TremulaJS can be thought of as an extremely bad-ass image carousel.

Watch the TremulaJS video demo here

tremula vimeo image

While there are some monumental physics-based JS animation frameworks out there -- most notably, famo.us, gsap and velocity.js -- TremulaJS was built with a very specific end in mind: to enable the kind of long-running, low-friction user interactions one might enjoy when navigating large sets of visual data.

See TremulaJS in the wild: currently in production on Art.com.

TremulaJS is compatible with all recent versions of iOS Safari, Chrome, OS X Safari, FF, IE.

TremulaJS was created by Garris Shipon at Art.com Labs.

Licensed under GPLv3.

follow @garris

More info...

follow @garris

Installing

cd to the root of your project then...

 $ bower install tremulajs --save

Optional install for mocha test framework and local host server (this is just a convenience for testing on local phones and tablets.)

cd to the tremulajs directory then...

$ npm install

Stepped scrolling (aka "paged" scrolling)

This feature will auto scroll the stream so that a single item is always presented in the center of the screen -- this is a cover-flow "like" behavior.

To view the functionality, open the demo here and call any of the following methods in the console...

loadMountainPop()
loadCarouselWithPop()
loadHorizontalPop()

Running with local data

TremulaJS is happy to run with a local data source. You will need to make sure your browser is not throwing a security error though. Safari typically does not have an issue with this. If you prefer to use chrome you can do a google search to find out how to disable same origin policy. Or, you can just run the handy server -- follow the instructions below...

Running locally with the local test server

cd to the tremulajs directory then...

 $ node server.js

Running mocha.js tests

Running tests will require MochaJS. To add, cd to the tremulajs directory then run...

$ npm install

Then you can run the test script with the test server running (or you can skip that part and use a browser with same origin policy disabled)

$ open http://localhost:3000/test.html

Building with r.js

cd to the tremulajs directory then...

$ node r.js -o build.js; node r.js -o cssIn=src/Tremula.css out=dist/Tremula.css;node r.js -o build_min.js; node r.js -o cssIn=src/Tremula.css out=dist/Tremula.min.css optimizeCss=standard

Dependencies

  • HammerJS (A most awesome touch event component)
  • JsBezier (Thank you Simon Porritt !)
  • jQuery (jQuery is a little overkill at this point -- It would be very straightforward to remove the few remaining convenience calls. For now, still required. John Resig, I salute you!)

Tested in the following browsers

iOS Safari, Chrome, OS X Safari, FF, IE (recent versions)

tremulajs's People

Contributors

garris avatar vaibhavsagar avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.