ppDrag

Extremely Fast JavaScript Drag'n'Drop

ppDrag is a Drag&Drop plugin for jQuery, which mimics the interface of jQuery UI's Draggable. Currently supported is a small subset of its options, but the implementation is different (ppDrag focuses on performance). Drag the two boxes below while watching your CPU usage to see the differences in their speed:

ppDrag
jQuery.UI.draggable

The speed difference is more visible with slower CPU's. If you have a fast processor which supports SpeedStep or a similar technology, you can try lowering its frequency. Also, due to JavaScript engine optimizations in the last generation browsers, the speed difference is less than with older browsers. For example, it is greater with Firefox 2 than with Firefox 3.

All major existing browsers are supported. This includes IE6/7, Firefox1/2/3, Opera, Konqueror, Safari, and probably others.

Download:

ppDrag is licensed under the LGPL license

Latest version (0.2): jquery.ppdrag.js
All downloads: http://code.google.com/p/ppdrag/downloads/list
Subversion: http://code.google.com/p/ppdrag/source/checkout

Usage:

  1. Include jQuery:
    <script src="jquery.js" type="text/javascript"></script>
  2. Include ppDrag:
    <script src="jquery.ppdrag.js" type="text/javascript"></script>
  3. Activate ppDrag. Example:
    $(document).ready(function() {
        $("#element1").ppdrag();
    });
    Note: at the moment ppDrag doesn't support elements with static positioning. Please use either relative, absolute, or fixed positioning.
  4. (optional) Specify options. Example:
    $(document).ready(function() {
        $("#element2").ppdrag({ zIndex: 1000 });
    });
  5. (optional) When no longer needed, you can deactivate ppDrag. Example:
    $("#element2").ppdrag("destroy");

Supported options:

History:

ToDo:

Contact:

Copyright (c) 2008, Peter Petrov
The author can be contacted at email: ppetrov(at)ppetrov.com

Bugs and feature requests should be reported at the issue tracker.

Privacy Policy