jQTouch is a JavaScript plugin which works with either Zepto.js or jQuery, and comes with smooth animations, navigation, and themes for mobile WebKit browsers (as found in iOS, Android, BlackBerry, and WebOS).
- Easy to install. Get up and running in a few minutes.
- Entirely customizable with selector options
- Theme support, including default Apple and jQTouch custom themes
- Callback functions throughout, including swipe and orientation change detection
- Page history management and CSS3 page transitions, including 3D flip, cube, and swap
- Failover to 2D animations for devices that don't support 3D
- Easily allow apps to run in fullscreen mode with custom icons and startup screens
- The power of jQuery to build AJAX applications
- New demos: Clock and Todo
Note: Upcoming features are developed in the master branch, and are not to be considered stable. For official releases, please see the version tags.
- Zepto integration - Use Zepto.js instead of jQuery to cut down on precious bandwidth. Zepto.js features a similar API to jQuery, but optimized for WebKit and much smaller.
- Sass-based stylesheets, easily modified with variables and optimized for size.
- Image-less stylesheets -- Using Compass Recipes, we have recreated all of the gradients and background patterns with CSS. This way, they are resolution independent, dynamically theme-able, and lower bandwidth.
See, New and Noteworthy for Details.
Source code, issue tracking, and documentation are available on github.
Watch this video preview to see it in action.
We have quite a few dependencies at the moment, as we build certain features directly from Zepto (which uses Rake), and we use Compass for stylesheets, which is only available via Ruby. The actual build system, however, is built on Grunt.
Please make sure you have the following installed:
- Ruby — Comes default on Macs, Windows users can use RubyInstaller
- Sass & Compass — Install both with
sudo gem install compass
once you have Ruby/RubyGems installed - Node.js & NPM —
brew install node
- Grunt CLI — Install with
npm install -g grunt-cli
once you have Node.js as listed above. - Local node packages — Run
npm install
from this directory
Will create a build of jQTouch in the build/
directory, compiling any theme files and updating with source from the Zepto submodule. This must be run to preview jQTouch.
Will create the same build as above, but will continue to watch for file changes to theme and source files, compiling/copying them into build every time you save. If you have a livereload browser extension installed and enabled, the page will update live after every change.
Only build the theme files. Typically, you'll want to use grunt watch
for developing a custom theme.
Run our test suite.
This is typically used internally for creating releases — It does everything the standard build does, but then additionally minifies all JS/CSS and updates the paths in demo files.
Jonathan Stark has created an excellent introduction to jQTouch as part of his book, Building iPhone Apps with HTML, CSS, and Javascript.
PeepCode did a screencast ($9), as well as a cheat sheet, which have been helpful to many people.
Created, and still occasionally maintained, by David Kaneda.
Maintained by Thomas Yip.
Special thanks to pinch/zoom and Jonathan Stark.
(c) 2009-2013 Sencha Labs.
jQTouch may be freely distributed under the MIT license. See LICENSE.txt for license.