Rails 3.1.0 has been released!

Rails 3.1 adds jQuery by default, streaming responses, role-based attr_accessible, prepared statements, and simpler migrations.

jQuery Spritely | Spritely

jQuery.spritely is a jQuery plugin created by Artlogic for creating dynamic character and background animation in pure HTML and JavaScript. It's a simple, light-weight plugin with a few simple methods for creating animated sprites such as the birds you see on this page, and dynamic scrolling backgrounds.

JavaScript: Testing the type of a value

JavaScript value checks are inconsistent across primitives, objects, arrays, null, undefined, and NaN; the right test depends on whether you need type, instance, or property presence.

JavaScript: Polyfill native Promise API with jQuery Deferreds

Small Promise polyfill for jQuery projects, trading native API compatibility for tiny size and jQuery Deferred performance limits.

jQuery: Run an event handler only once

Use one(...) for handlers that should fire a single time; it accepts the same arguments as on(...) and removes itself after the first event.

Updated: Unobtrusive jQuery to toggle visibility with selects and checkboxes

Show or hide page sections based on form choices, including radio buttons, without intrusive scripting.

jQuery Tag Cloud

Tag clouds can be rendered and animated on an HTML5 canvas with TagCanvas, enabling interactive visualizations instead of plain text lists.

velesin/jasmine-jquery

Jasmine DOM testing is easier with matchers like toBeVisible() and toHaveCss(css), plus fixture loading for temporary HTML setup and cleanup.

Magnific Popup: Responsive jQuery Lightbox Plugin

Responsive JavaScript lightbox for single images and galleries, with optional animations and straightforward setup.

Freetile.js

jQuery plugin for packing page content into a dynamic, responsive layout that uses screen space efficiently.

BigVideo.js - The jQuery Plugin for Big Background Video

BigVideo.js adds fit-to-fill background video or image playback for websites, with support for silent ambient loops and video playlists when autoplay is unavailable.

Efficiently add an event listener to many elements

Attaching one listener to many elements can slow the browser; delegating to document reduces setup cost and suits low-frequency events like click.

Rails jQuery UJS: Now Interactive

We can now plug into every facet of the Rails jQuery UJS adapter, binding to custom events, and even customizing internal functions, without hacking or monkey-patching the rails.js file itself.

Keeping web applications fast

Fast web apps avoid unnecessary database work, oversized assets, and heavy client-side rendering, while measuring bottlenecks before optimizing caches, scripts, images, or page delivery.

Jasmine: Creating DOM elements efficiently

Efficient ways to create DOM test fixtures for Jasmine, from HTML parsing and selector helpers to innerHTML, with readable structure and direct element references.

Upgrading Rails 2 from 2.3.8 through 2.3.18 to Rails LTS

Rails 2.3.x upgrades fix security vulnerabilities and API changes across patch levels, with extra CSRF, XSS, and JSON gem updates needed on some releases.

epeli / Underscore.strings / source — bitbucket.org

String helper extensions for Underscore.js add convenient text utilities to JavaScript projects.

Test if a checkbox is checked in jQuery

jqueryElement.is(':checked')

jsPlumb demo

jsPlumb can visually connect elements together with curved (or straight) lines. The demo has examples of Bezier curves and straight lines.

Jasmine: Testing complex types for equality

toBe only checks reference identity; toEqual handles arrays, objects, dates, regular expressions, NaN, exceptions, and custom equality testers.

IE11: Trigger native mouse events with Javascript

IE11 needs real DOM mouse events for code that listens to native handlers as well as jQuery .on; synthetic clicks from trigger are not enough.

Capybara: Find an element that contains a string

Capybara can locate DOM nodes by text content using text: with a selector or regular expression, avoiding unsupported CSS string-matching selectors.