X Library Distribution

Thank you for using X and supporting Cross-Browser.com!

Wishing you success in all things,
Mike Foster

X 4.09

Updates for X 4.09 (10Feb07):

  • Changed format of first conditional compilation statement in xHttpRequest2. XC was giving this: /*@cc_onvar _x=null;@*/. It was causing 'x.js' to throw errors in IE.
  • No changes to XC for now.

Updates for X 4.08 (30Jan07):

  • Bug fix for xEditable submitted by HFT member ohvayha. Thanks!
  • Mark submitted a fix/improvement for xEnableDrag. It now only drags on a "left" click. Thanks!
  • Added the 'button' property to xEvent. Supports all IEs and other W3C-compatible browsers (FF, Opera8+, Safari, etc).
  • Added xTableCursor2, a more unobtrusive version of xTableCursor, submitted by Stephen Hulme. Thanks!
  • Added xGetEleAtPoint, xTableHeaderFixed and xTable.
  • Added bounding rectangle support to xEnableDrag.
  • Made another xHttpRequest demo which resulted in an update to xHttpRequest.

For previous updates see the revision history for the xLibrary object.

XC 1.02

Updates for XC 1.02 (30Jan07):

  • When removing comments, JScript conditional compilation comments are not removed.

Updates for XC 1.01 (3Nov2006):

  • New option: objprefix, will prefix all X functions with an object name you specify. The xSplitter demo is now using this feature.
  • Fixed a bug that was in XC 1.0 which prevented a symbol file from being included if there was an app file with the same name and option +app was set.

Read more about the X Compiler.

X Demos

Examples of using X. More demos are available at Cross-Browser.com.

xAnimation Preview - A new animation engine. Has demos for xAniScroll, xAniLine, xAniEllipse, xAniOpacity and xAniSize.

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

3-Column CSS Layout with a few Js behaviors thrown in just for fun :-).

Menu/Layout Demo - Slideout Menu with 5-Column CSS Layout.

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

xSelect - Accessible categories & sub-categories.

xTabPanelGroup - downgradeable, accessible, tabbed panels.

xTabPanelGroup 2 - same object, but this demo sets the height in CSS and allows width to flow with the HTML.

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').

Drag-n-Drop - A demo illustrating the use of xEnableDrag and xEnableDrop.

Collapsible nested ULs or DIVs: xCollapsible & xMenu5.

xTreeMenu - another UL-based menu with unlimited levels.

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

Floater Box, Bar and Limited - menu floats vertically onscroll.

Floater Fixed! - the floater finally got fixed!

Vertical Toolbar - The 'fixed' vertical toolbar used at Cross-Browser.com.

xTooltipGroup - provides for multiple groups of tooltips.

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.

Another table toy: xTableSync - syncronized table events.

xTableHeaderFixed - An unobtrusive table enhancement: Fixed table headers.

xTable - An unobtrusive table enhancement: Fixed table header and first column.

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...

TPG Basic - illustrates the basic concepts underlying xTabPanelGroup.

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.

xSlideShow - A simple slideshow object.

Check By Name - Check/Uncheck all checkboxes with the same 'name'.

Selectable Fieldsets - An unobtrusive form-enhancement behavior. Selecting an item in the SELECT causes the corresponding FIELDSET to be shown and the others to be hidden.

Auto-Sizing Textareas - An unobtrusive form-enhancement behavior. textareas that size to fit their text and restore to their default size.

Add Textarea Rows As Needed - Another textarea-enhancement. A new row is added when the number of characters is greater than rows * cols.

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, source code, revision history and more for all X symbols.

X Index - X Library Index.

X Quick-Start - Getting started with the X library.

XC Reference - Documentation for the X Compiler.

X Structure - The structure of the X library.

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

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.

Contents

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 exclusively. Currently, I'm testing with the following browsers. X has been tested by others on a wide variety of platforms.

WinXP: Opera 9.02, FireFox 2.0 and Internet Explorer 7.

Win2K: FireFox 1.5.0.7 and Internet Explorer 6.

Win98: Internet Explorer 4, 5 and 6.

(I also have several different versions of Opera)