Skip to content

24 ways to impress your friends


It all started here, in the heady days of Web 2.0. Ajax was the first new browser technology we’d seen in years, and combined with a new breed of libraries such as Prototype, it kick-started the JavaScript renaissance.

  1. Have Your DOM and Script It Too

    Shaun Inman

    Shaun Inman concludes our series by detailing a technique for executing JavaScript returned by an Ajax call without using eval(). Remember kids, Christmas Eve is when Ajax comes calling, so leave out some sherry and mince pies. Tonight we feast.

  2. Edit-in-Place with Ajax

    Drew McLellan

    Drew McLellan follows on from Day 1’s simple Ajax tutorial by taking the next steps and building a Flickr-style text edit-in-place system. Crank your Ajax dial up to 11 and get stuck in. Ding dong!

  3. Debugging CSS with the DOM Inspector

    Jon Hicks

    Jon Hicks demonstrates how to use the Firefox DOM Inspector to debug problems in your CSS. It may not be the ideal time of year for seek and destroy missions, but I’d be prepared to overlook that. It’s the season of goodwill, after all.

  4. Tables with Style

    Jonathan Snook

    Jonathan Snook investigates combining a full range of table elements and CSS to create more attractive data tables. Forget about decorating the dinner table for a week, and get styling those data tables.

  5. Introducing UDASSS!

    Dustin Diaz

    Dustin Diaz introduces a technique for server-side style sheet switching without reloading the page. Using Ajax, the Unobtrusive Degradable Ajax Style Sheet Switcher combines the convenience of client-side switching with the robustness of processing at the server.

  6. "Z's not dead baby, Z's not dead"

    Andy Clarke

    Andrew Clarke dusts off the CSS z-index property to take control of the depth of his positioned elements. Why not try it out for yourself and see how it all stacks up. Santa’s not the only thing in your stack this Christmas. Erm … ok, I’m outta puns.

  7. Splintered Striper

    Patrick Lauke

    Patrick H. Lauke concocts a rather handy little JavaScript function to help you stripe your tables, lists, bathroom, you name it. And there you were thinking the only stripy thing you were getting for Christmas was a sweater. How little do you know.

  8. Transitional vs. Strict Markup

    Roger Johansson

    Roger Johansson returns to first principles and considers the fundamental differences between Transitional and Strict DOCTYPEs, as well as some of the common mistakes made when dealing with each. A timely reminder of the fundamentals can never go amiss.

  9. Auto-Selecting Navigation

    Drew McLellan

    Drew McLellan takes a quick look at a simple method of styling navigation so that the correct item shows selected on each page. It’s a really simple idea, but extremely effective, and quite a time-saver to boot.

  10. Centered Tabs with CSS

    Ethan Marcotte

    Ethan Marcotte delves headlong into the sticky issue of centered, list-based tab navigation with remarkable verve and compelling results. Snuggle up by the fire with a hot toddy and a moist companion, for today’s tip is freshly ironed for sir’s pleasure.

  11. Don't be eval()

    Simon Willison

    Simon Willison gets down and dirty with JavaScript and explains why caution should be exercised in use of the eval() function. It may be the season of good will and all, but we can’t have our caution getting all flabby now, can we?

  12. CSS Layout Starting Points

    Rachel Andrew

    Rachel Andrew discusses an approach to rapid and reliable CSS development. Save hours of layout work and testing on your next CSS build – time that could be better spent roasting chestnuts or baiting children.