X Library Distribution

Thanks for using X!

All the best,
Mike Foster
Cross-Browser.com
22 Sep 2006

X 4.01

X started life in one file, 'x.js'. Soon the number of functions in that file increased to the point that I separated them into 'x_core.js', 'x_event.js', 'x_slide.js', etc. Now since v4.0 every function or object is in a separate '.js' file. For every '.js' file there is a '.xml' file which contains copyright info, documentation, revision history, etc. For backwards compatibility I still provide 'x_core.js', 'x_event.js', etc., but now I generate those files with XC.

I don't yet have an up to date offline X reference - I'm working on it. Please refer to the online X Library Viewer.

XC 0.29b

XC is a companion utility for X. XC scans your application files and creates a custom X library file (with optional compression) which contains only those X functions and objects used in your application.

Read more about the X Compiler.

Release Notes

This release adds functions contributed by Daniel Frechette: xHasClass, xAddClass, xRemoveClass, xToggleClass, xEach, xEachUntilReturn, xTimes, and functions contributed by Ivan Pepelnjak: xGetStyleSheetFromLink, xGetCSSRules, xHasStyleSheets, xTraverseStyleSheet, xTraverseDocumentStyleSheets and xHasStyleSelector. There have been other code contributions and I'm working on adding them ASAP. This release includes a small change to XC provided by gagenellina: it will now accept a project filename that includes the '.xcp' extension. Now '.xcp' files can be associated with 'xc.exe' and you can run XC on a project file just by double-clicking it.

The actual revision history for each X function/object is now in its corresponding '.xml' file.

X Demos

Examples of using X. I've included more demos in the download package this time, but all the links may not work ;-)

xSplitter A nestable, dual-pane splitter (evolved from Melles Pane).

Js Layout, with CSS downgrade - Javascript-controlled layout which downgrades to a CSS layout.

xSelect - Accessible categories & sub-categories.

xTabPanelGroup - downgradeable, accessible, tabbed panels.

Collapsible 3-Column Layout - Using an unmodified layout from BlueRobot.com (I just added a little js).

Equal Column Heights (3 Column) - my version of a demo featured in a SitePoint article.

Equal Column Heights (2 Column) - a 2 column version of the Equal Column Heights demo.

xFenster - fenster is 'window' in German ;-) (also listed as 'Drag/Resize/Maximize Demo 2').

Collapsible nested ULs or DIVs: xCollapsible & xMenu5.

xMenu 1 - a single-level menu with several variations.

Floater Box and Bar - menu floats vertically onscroll.

xBar - horizontal or vertical, scaled bar-graph object.

xWindow - helps maintain child (popup) windows, especially when you need multiple child windows and each window needs different features.

Table Toys - functions for hiding/showing table rows/columns/cells. A function for iterating a table's rows and cols. An object which creates a row/col cursor.

X Property Viewer - displays element and event properties and computed styles.

For many more X demos visit Cross-Browser.com

Stand-alone Demos

Self-contained demos that don't use a javascript library. Some new stuff, and some old stuff...

Image Gallery v2 - A Javascript image gallery and slide-show all in one file. This thing just keeps getting better thanks to everyone's feedback.

Img Preload Wait - A very simplified version of xImgAsyncWait.

Frame Events - Watching mouse events in another frame.

Frame Comm - Inter-frame communication demo.

Frame Resize - Frame resizing demo.

dsds - a layout experiment with collapsible DIVs.

Append Listener - append a click listener to all <A> elements whose contained IMG src matches a particular string.

Link Interception - Intercept and control the target and url of any/all links on the page - without adding anything to the html.

Text Input Events - see how your browser supports text input events.

xSubSelect - simple cascading Selects.

Documentation

X Library Viewer (online only) - View documentation and source code for all XC-compatible X symbols.

XC Reference - Documentation for the X Compiler and notes for X contributions.

LGPL License FAQ - License and copyright information for X users and contributors.

X Function Reference - Although still valid, this is old. Use XV. Soon I'll have an up to date offline version of the reference.

Color charts.

HTML Entities.

Web-Safe Color Cube (online only) - A color cube that can be viewed from different perspectives.

Misc. Articles

Event Interface Soup - yum!

Where's My Style? - A discussion on the fact that element.style.property corresponds to the HTML STYLE attribute, not to any styles applied to the element via the ID or CLASS attributes.

Accessible Javascipt Links - a simple example of how to implement 'A' elements that have both href and onclick attribute values.

Closure & Scope - this article presents code which illustrates closures, 'this' scope, private and static properties, methods as event listeners, and more.

Javascript Debugging Tips - you don't have to have a debugger to utilize the concepts of watches and breakpoints.

The LGPL License and FAQ.

How to post code - in UBB forums.

Websafe Fonts - How to use "font-family".

De What? - Inverting Logical Expressions with De Morgan's Laws.

Resolving Onload Conflicts with multiple scripts in the same page.

Inter-Frame Comm - Communication between frames.

License

By your use of X and/or CBE and/or any Javascript from this site you consent to the LGPL License - please read it.

Developer Support

Get your questions answered faster by posting at one of the following forums.

SitePoint.com

HFTOnline.com

CodingForums.com

User Projects

If you are using X, CBE or anything from Cross-Browser.com, please let me know and I'll post a link to your work in Featured Sites.

Browser Support

The X core is designed for Opera 5+, Mozilla, Firefox, Safari, Netscape 7.x, Internet Explorer 4+, Konqueror, Netscape 4.75+ (*) and browsers with similar object models. Object-detection instead of browser-detection is used as much as possible. Currently, I'm testing with the following browsers on Windows. X has been tested by others on a wide variety of platforms.

Opera 9.01
Mozilla 1.7.2
FireFox 1.0.2
Internet Explorer 4, 5 & 6
Netscape Navigator 4.8 *deprecated