The DynAPI Project

Note: As of 1999/10/22 the examples and images related to the DynAPI files that were previously only available in the DynamicDuo tutorial are now in the DynAPI archive and now under the LGPL.

About The DynAPI

The goal of the DynAPI Project is to develop an open source programming library for developing DHTML applications. This library is freely distributed under the terms of the GNU Library General Public License.

The DynAPI is a spin-off of the Dynamic Duo DHTML Tutorial. As I progressed with the DynDuo, I eventually found myself building a core set of JavaScript files that were often needed when building DHTML applications. These files were almost always based around my Dynamic Layer Object (and where the DynAPI gets its name from). I extracted the most important JavaScript files out of the tutorial and have named it the DynAPI. I am now further separating the "API" from the "tutorial", by extracting all the examples and images that are directly related to the DynAPI JavaScript files. I'm planning to continue this by working on documentation specific to the DynAPI in the form of a specification guide - a listing of the objects and functions and their syntax - a short summary of the JS files. This will be like properties and methods listings in the tutorial which will probably be removed from there.

If you are just beginning with DHTML you should first read the The Dynamic Duo tutorial which will take you through a learning path to understand how DHTML works, eventually progressing to how to build sophisticated JavaScript objects for use in DHTML applications, and very specific explanations on how to use the DynAPI files.

Note: The tutorial does not explain everything and will not necessarily be up-to-date with the code distributed in the DynAPI.

Downloads, Code, and Examples

Download the latest DynAPI

View the Code Summary

View the Examples


It is my hope that JavaScript programmers will contribute to the development of these libraries. Help would be very much appreciated in any capacity such as:

Testing and bug fixes across platforms

I develop under Linux and Windows, I have no MacIntosh computer or any other operating systems to do extensive bug testing. I would appreciate if you discover a bug to please e-mail me what platform/browser the bug appears in, what line numbers were causing the problems etc. And better yet, try to fix the bug on your own and send a fixed version of the JavaScript file.

New scripts or improvements to existing ones

Any new scripts that you've created or modified versions of mine would are very welcome. If you're good with graphics, I'd certainly appreciate some cool alternative styles to the objects that use a lot of images (DynWindow, Scroll, Tabs etc).

New widgets

I've outlined a very nice manner in which JavaScript widgets can be built utilizing the DynLayer. There are many possible widgets that could be created.

Wanted Feature List

These are the items that I plan/will/want/might to add to the DynAPI. If you want to lend a hand with any of these please notify me.


The DynAPI is primarly developed by:

Dan Steinman

Contributors to the DynAPI are listed in the README file distributed in the DynAPI archive.