- Supported Javascript -
Introduction - Please Read

Welcome to Scripterlative

This site exists to provide high quality JavaScript code to meet many of the commonly expressed requirements of web developers.

The scripts are written with consideration to robustness, ease of installation and configuration. Where applicable, the code can be used in multiple instances in the same document. No script requires any editing of its supplied code.

The site's inception was encouraged largely by the inadequacies of other online JavaScript repositories with sponsorship-driven agendas and offering little or no support for often sub-standard code, usually from long-vanished authors. Programming forums are full of requests for voluntary help in respect of scripts "found" on such sites.

Conversely, whenever a satisfactory demonstration leads to a download of our code, it is imperative to us that it results in a successful installation on the intended website. To this end we undertake to provide a reasonable level of email-based support to anyone having the basic text editing skills required both to install scripts, and to specify relative file paths.

While the less complex scripts are entirely free, for the rest in recognition of the time and effort taken developing and documenting the code and any support that may have been rendered, we expect a gratuity of the user's choice via PayPal. Our receipt of a gratuity in respect of any script, will be understood to mean that the sender has judged the code to be suitable for purpose. This condition is reiterated in the documentation of the relevant scripts. We do not suggest any amount and no transaction takes place.
Anyone unable to agree with the above principle is advised to seek an alternative code source.
Should any long term abuse of our code come to light, we reserve the right to remind users by any available means.

For a further description of each script, click on its heading. To go straight to its demonstration page, double click.


Form Enhancement
Accented Character Replacer

Replaces most common accented characters typed into form fields, with their non-accented equivalent.

Often requested for use with email address fields.


Run Demo

Checkbox Master-Slave Control

Manage master-slave checkbox groups to check/uncheck/enable/disable multiple boxes simultaneously.

Multiple groups can be configured

A comprehensive solution to a common requirement


Run Demo

Enter Key Acts as Tab in Forms

Prevents accidental form submission when the Enter key is pressed.

The Enter key just moves the focus to the next element.

Can be configured to skip elements that don't use text entry.

Does not focus Submit or Reset buttons.

Run Demo

Radio Button Reader/Manager

A set of encapsulated functions to read and control all aspects of radio buttons and checkboxes.


Run Demo

Save Submitted Form Input Values in HTML5 localStorage or A Single Cookie

Saves the content or state of form inputs either in HTML 5 localStorage if available or in a single cookie (subject to the cookie size restriction).

Values of form inputs at the time the form is submitted, are restored the next time the page is loaded.

Supports checkboxes, radio buttons, text fields, textareas, and select boxes of single or multiple option.

Data can be saved per session or persistently.

Often requested when a server side language is not available.

Very easy to install & configure.


Run Demo

Simple Cascaded Select List Plugin Using Array-Based Data

Cascaded Select Lists of any Depth
using Array-Based Data Storage.

Multiselect is a dependent dropdown controller that does not use a database. It is best suited for applications in which the option data will not need to be updated regularly.

The intuitive array storage system supports unlimited depth of menus.


Run Demo

Dynamic Dependent DropDown Listbox Controller with Code Generator

Controls multiple groups of dynamic chained select boxes

  • Supports multiple independent menu groups, with no limit to the number of <select>s in each.
  • De-selected boxes can be hidden.
  • Supported by an online WYSIWYG data and code generator, to have you up and running in the time it takes to type-in the option text!
  • Isolates the developer from the potential hazards of manipulating source code.
  • [Advanced Developers] You can enhance the user experience by executing external code whenever menus are populated, cleared and when a final selection is made.
For maximum versatility, option data can be retrieved from:
  • Hard-coded XML data
  • Separate XML File
  • Dynamic database querying via built-in AJAX routines
  • Any combination of the above.

The data generator features an intuitive option editor integrated into a working simulation of the script. As you enter options they become part of the simulation, allowing you to click them to specify the location of sub-options.

When all data is entered and displaying properly in the simulation, one click generates the corresponding XML data, HTML markup and JavaScript statements required. Just copy and paste and you're in business. No it's not a dream, we've really made it that easy.

There is no easier way to build a complex dependent-dropdown system.

This one is the answer to all linked listbox requirements.

Run Demo

Star Rating System

A JavaScript FRONT END for user rating systems

  • Multiple rating bars in the same document
  • Pre-settable on load
  • Configurable for any number of symbols
  • Displays any user-supplied graphics
  • Interfaces with any form element
  • Option to call external functions for AJAX interfacing

Run Demo

Preference / Unique-Choice Dropdown Boxes

Multiple Unique Preference Listboxes - Controls a set of listboxes for selecting order of preference.

As a selection is made in one box, that option is excluded from all the others.


Run Demo

Width-Resizeable Select Boxes

Set a group of one or more select boxes to a uniform size when out of use, regaining their normal width when in use.

Conserves space on the page.

Run Demo

A text field generator / appender for forms

Appends dimensioned copies of form text fields and text area elements immediately after the original field.

Options include:

  • Setting the source of the default content
  • Applying focus or text selection
  • Limiting the number of creatable fields.
  • Appending <br>

New fields can be named either the same as the original, or with a sequential numeric suffix appended.

Appended fields can also be removed, singly or all together.


Run Demo

Scroll Related
A civilised status line scroller with "random" option

The much-maligned status line scroller.

Scrolls a randomly selected message from a list, for a specified number of cycles.

Does not interfere with URL displays from hyperlinks in the same frame.

Can select randonly from a list of messages and display a final static message.


Run Demo

Auto Scrolling Divs

Scroll div content automatically, vertically and/or horizontally as applicable.

Scrolling is reciprocating (changes direction at the end of travel).

Scroll pauses when div is hovered. This can be disabled.

The user can change scroll direction just by moving a scrollbar in the required direction.

Optional self-configuring control buttons are available for changing direction and scroll toggling.


Run Demo

Scroll Frames in Synchronisation

Scrolls two or more same-domain frames in synchronisation, when any one is moved by the user.

Scrolling is in proportion to the relative lengths of the involved documents, and works both horizontally and vertically as applicable.

Run Demo

Scroll Divs in Synchronisation

Synchronised user-scrolling of groups of divs.

When the user scrolls any div in a configured group, the rest scroll by the same proportion of their own length.

Supports vertical and horizontal movement and multiple independent div groups.

Run Demo

Scroll a webpage just by moving the cursor near to an edge

This script scrolls a page horizontally and vertically just by placing the mouse cursor close to the relevant edge. This can be a great enhancement to your site's operation.

  • Scroll speed varies with proximity to the edge
  • Configurable for width of active boundary and maximum scroll speed
  • Works on horizontal & vertical axes
  • Prevents false triggering by ignoring a fast-moving cursor
  • Does not interfere with scrollbar operation

Run Demo

Scroll a div just by moving the cursor near to an edge

This script allows the mouse cursor to scroll a div in any scrollable direction just by placing the cursor close to the relevant edge. This can be a great enhancement to your site's operation, as you can see from it's use on this menu.

  • Scroll speed varies with proximity to the edge
  • Configurable for active boundary width and maximum speed
  • Works on horizontal & vertical axes; simultaneously where applicable.
  • Supports multiple divs.
  • Eliminates the need for scroll buttons.
  • Works with <textarea>s.
  • You may wonder why it isn't a standard feature!

Run Demo

Mouseover/Touch Buttons for Variable Speed Scrolling of Divs and Other Content

Use any image as a variable-speed scroll control for scrolling the content of divs, frames, iframes, textareas or even the current window.

Speed is controlled by cursor or finger position.

Each button can support 1 to 4 scroll directions. Where possible, enjoy simultaneous horizontal and vertical scrolling with independent speed control, all on one button.

Cursor-speed monitoring allows a fast-moving mouse cursor to pass through a button without operating it accidentally. On multi-directional buttons, this feature allows the cursor to finish a scroll movement then 'escape' from the neutral point without triggering further movement.

Also supports bi-axial scrollwheel scrolling, even for hidden overflow (no scrollbars), which is not normally possible.

For accessibility, buttons are keyboard-selectable and respond to cursor and Page Up/Page Down keys as appropriate.

Run Demo

Smooth Scrolling To Anchors on link click or on load

Navigate to anchors with a decelerating scroll, in place of the default jump action.

  • Assures users that they are still on the same page
  • Scrolls on load if the URL contains a valid # parameter
  • Scrolling can be halted just by disturbing a scrollbar
  • Works across adjacent frames or iframes - click in one frame to scroll another.

Run Demo

Smooth Scrolling to Div Anchors

Progressive decelerating scroll to anchors within scrollable divs, in place of the default jump action.

  • Scrolls on load if the URL contains a valid # parameter.
  • Can be preset to scroll a div on load without passing a "#" parameter.
  • Multiple divs supported.

Run Demo

Restore Last Scrolled Position on Refresh

On refresh of a document, this script restores its previous vertical & horizontal scrolled positions (within a given browser session).

Can be used within iframes.

Run Demo

Restore Last Scrolled Position of a Div on Refresh

Within a given browser session, this script returns a scrollable div to its previous vertical & horizontal scrolled positions on refresh/reload.

Multiple divs can be restored.

Run Demo

Scroll The Page in Any Direction by Dragging the Mouse Cursor

Drag the entire document vertically and horizontally using the mouse.

Very useful for viewing large maps, charts, tables or images that are larger than the viewing area.

If the button is released during movement, the scrolling motion overruns (this can be inhibited).

Various startup options can be configured.

To allow normal interaction, the functionality can be toggled on/off by double clicking.

Also supports operation of the scrollwheel when scrollbars are hidden.

Run Demo

Scroll Div Content by Mouse Dragging or Scrollwheel

Scroll Div Content Vertically and Horizontally by Mouse Dragging or Mouse Wheel

Meets two common needs associated with div scrolling:

  1. Emulates the drag-scrolling functionality of the iPhone® and other handheld devices, without using Flash.
  2. Allows the scrollwheel to scroll hidden overflow (no scrollbars) on both axes, which is not normally possible.
  • Scrollable content can be dragged in any direction with optional deceleration on release.
  • Drag-scrolling and custom scrollwheel action can be toggled on/off by double clicking, allowing conventional operations like text selection and scrollwheel zooming etc.
  • Can allow scrollbars to remain visible for non-scripting clients.
  • Drag-scrolling can be defaulted to "off" at startup along with many other options.
  • Shift instantly between vertical and horizontal wheel scrolling by clicking the mouse button.

Run Demo

Buttons for Incremental Scrolling of Div Content with Easing

The often-requested div-scrolling buttons. Can be used on their own or complementary to any other of our div-scrolling utilities. Configurable for vertical, horizontal or diagonal scrolling by fixed amount or by percentage.

Run Demo

Image Related
Simple Reliable Image Preloader

A simple, reliable and versatile image pre-loader


A visual demonstration of this script is pointless.

Download Source Code and Documentation

Read the Clicked Pixel Offset of Images

When a configured image is clicked, this utility reads the cursor position relative to the top left corner of the image, then passes the data to any other script via a user-supplied function.

Configured images can be arranged either into a single group all calling the same user function, or into separate groups.

Returns accurate data even when an image is contained within a scrolled div.


Run Demo

Disjointed Rollover Image Viewer

Displays full size captioned images triggered from disjointed rollovers of thumbnail images or links.

Supports multiple displays in the same document.

Configurable to select either by hover or click.

Features support for stepping buttons and look-ahead image pre-loading.

Run Demo

Image Map Area Rollover Image Swapping

Same-element or disjointed image map rollover image swapping.

Provides an extremely easily configured solution to setting-up rollover image swaps, that are triggered by hovering image map areas.

Swapping can take place either on the image placeholder hovered, or a separate image (Disjointed Rollover).


Run Demo

Popup an Enlarged Image on Hover of a Thumbnail or Other Element

Hover any element to display an image enclosed in a floating div adjacent to the cursor, with optional title text.

Selective Image Preloading, Optimised Image Positioning, Shrink-To-Fit Resizing, Individual Div Styling.

Run Demo

Two or Three-State Pre-settable Locking Rollover Buttons

Dual or Tri-State graphical rollover buttons that stay 'locked' when clicked, until the click of another button in the group.


  • Automated image pre-loading
  • Button presetting on load
  • Support for multiple button groups
  • Optional text captioning

Run Demo

General Utilities
Cookie Management Utility

Make cookie handling as easy as it gets with these integrated functions.

Set, read, modify, refresh, delete and increment cookies, without the clutter of separate functions.

With this script module included in your document, cookie-related tasks become a breeze.


Run Demo

Countdown Timer

Contrary to what you may believe:

NOBODY needs a countdown timer, so we won't be writing one!

Fade Element Colours on Hover

This script fades the background and foreground colour of links, buttons and other elements on hover.

Makes a smooth transition between any two RGB colour values.

Link fading can be triggered on focus by keyboard users.

Very easy, unobtrusive configuration.

Run Demo

Frameset Dimension Toggler

Provides a control to toggle a frame set between two fixed sets of dimensions.


Run Demo

Highlight a Hovered Element by Fading the Rest of its Group

This script highlights a hovered element, link or button in a specified group, by fading out the others.

This effect produces single-image rollovers.

Features optional 'locking' on click and presetting on load.

Run Demo

Apply Random URLs to Specified Links

Selects a random URL from a supplied list for a specified link, each time the document loads.

Will not repeat the same URL consecutively (subject to cookie support).

Annunciates the url in the title bar on hover, along with a text description.

Supports multiple links each with their own URL list.


Run Demo

Popup Tooltips on Hover

Easily configured, individually customisable popup tooltips that can contain any type of element, including other websites.

Can be entered by the mouse cursor to copy data, and when populated with links can act as inline menus.

Run Demo

Contact, Feedback & Error Reporting Form

Please Note: If you have sent us a gratuity via PayPal and we do not seem to have responded, please ensure:

  • You are checking the correct email account, namely the address registered with PayPal.
  • The message was not automatically placed in your junk/spam folder.
  • Your inbox messages are SORTED BY DATE so that the newest appear at the top where you would expect to see them.

These are very common mistakes so we have to point them out.

Thank You.

Feedback Form

Complete the form then press 'Send'

>> Please enable JavaScript or this form will not post <<



Name of Script

*Browser (including version number)

*Operating System

*Please enter your comments below.
Include any error messages (pertinent to any relevant script) from the JavaScript console.

 (There is no confirmation page)