Welcome coolTip

coolTip is a tool-tip like utility, that is similar to overLIB, by Erik Bosrup. The main difference between these two packages is that coolTip is totally object-based, which from the user's standpoint, means that more than one tool-tip at time can be visible on the page, each one having their own look and properties. coolTip has several commands and features that are exclusive with it.

coolTip also uses a coding structure that permit a user to write code to provide support for features that are not part of the release so that his/her code can be called. The following section describes the function of a plugin which has been developed to work with coolTip's core module.

If you would like to make a donation to support further development of coolTip, please see the page, under the section labelled Donations.

Plugin Commands

The links in the menu that is accessed by clicking on the symbol labelled "Menu" in the upper right hand corner contain references to the documentation and zipped files of the core module and all plugins. As each plugin loads, a call is made to the meets() function of the cInfo object, located in the core module, to see if the required level of core support is present. If it isn't, then an alert is given indicating what level of support is needed in the core module and the loading of the plugin is aborted. This means that if a call to a coolTip with one of this plugin's commands is made, it won't work and will generate an error indicating that the command is undefined. Other coolTips, not using that plugin's commands, will probably function.

The structure of a popup is different in coolTip than in overLIB, which is based on a series of nested TABLES while coolTip uses a series of nested DIV containers, with a SPAN element for the close text. (See the file for more information on the structure.) With Version 2.5.5 of coolTip, the code has been completely re-vamped from earlier versions and is explained in the following file.

A brief description of what each plugin does is given below.

Adaptive Width
The purpose of this plugin is to implement a suggestion recently made by Dennis Sandow for a popup having a relatively large amount of body text which has a pleasing aspect ratio (i.e., height/width ratio). See message 7614 on the overlib newsgroup for a complete discussion of his proposed method.
Anchor
This plugin allows the user to position coolTips with respect to various Reference Markers on your web page, which may be a named image, a positioned DIV container with a valid ID, or a named Anchor element.
Animation
The purpose of this plugin is to provide several animation effects to a popup.
Centerpopup
The purpose of this plugin is to easily position a coolTip in the middle (horizontal and vertical) of the browser window, so that the middle of the coolTip is positioned over the middle of the visible browser window.
Debug
This plugin allows a user to get information about coolTip's internal variables, mainly for debugging, displayed in a small window in the upper left-hand corner while the coolTip code is actually running.
Draggable
This plugin provides support for "dragging" a coolTip around the screen.
ElmContents
This plugin provides additional flexibility in styling a coolTip, by enabling a user to use content in other elements on their pages (ones that have an ID attribute) in a coolTip, by either replacing the entire ctDiv container by another element, the content of the ctDiv container with another element's content, or by replacing just the body and/or caption regions text.
External File
The purpose of this plugin is to provide support for displaying an external file within an IFRAME within coolTip and to add scroll bars to a coolTip with extensive content.
Followscroll
This plugin provides support to allow a STICKY coolTip to be kept within the browser window as it is scrolled.
Native Drag
This plugin provides support to allow a STICKY coolTip to be dragged around the screen using features of Drag N' Drop introduced in HTML 5.
PIP
The purpose of this plugin is to provide support necessary for displaying a popup within a popup (PIP). The core module already provides support for multiple popups, explicitly making sure that popups lie on top of one another. This plugin introduces two additional commands that assist in handling mutiple popups. Secondary popups can have all of the same features that are possible with normal popups; there are no restrictions placed on these secondary popups. Also the invocation routine is the same for all popups -- namely coolTip() and default commands for these secondary popups can be set via the ctPageDefaults() routine. The only restriction that is placed on the primary coolTip is that it must be STICKY when first shown (otherwise you can't get to the popups that it calls).
Setonoff
The purpose of this plugin is to provide a way to set commands which take no parameter values to either their ON or OFF state regardless of their current setting. This setting takes place after the command line has been completely parsed, which means the SETON/SETOFF comamnds take precedence. Most no-parameter commands in coolTip act like toggle switches which reverses their current state for the current command only.
Shadow, Rounded Corners, and Modal (Special Commands)
This plugin provides support to display one or more shadows to the popup or to give the popup rounded corners. These effects are acheived via newer CSS styling rules (see CSS3 specification), which most modern browsers now support.
Xml
This plugin provides the support needed for coolTip to be used in web pages that are served with a MIME type of application/xhtml+xml. On first glance, it may appear that this plugin is not needed at all but that is not the case. The normal manner of creating a popup is to set its content using the innerHTML property. Under xhtml+xml that property is disabled in browsers which support this file type and it generates an error. The way around this problem is to make use of W3C DOM procedures to construct the popup, which this plugin provides.

Menu

References