Thanks for using X!
All the best,
Mike Foster
Cross-Browser.com
22 Sep 2006
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 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.
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.
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
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.
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.
Web-Safe Color Cube (online only) - A color cube that can be viewed from different perspectives.
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.
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.
By your use of X and/or CBE and/or any Javascript from this site you consent to the LGPL License - please read it.
Get your questions answered faster by posting at one of the following forums.
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.
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