Skip to content

Instantly share code, notes, and snippets.

Avatar

Kyle Florence kflorence

  • Solar Mosaic, Inc.
  • Austin, Texas
View GitHub Profile
@kflorence
kflorence / jquery.plugin.js
Created Nov 17, 2010
jQuery plugin pattern
View jquery.plugin.js
(function($) {
// $.widget-lite
$.plugin = function(name, base, prototype) {
if (!prototype) {
prototype = base;
base = function(options, element) {
if (arguments.length) {
$.data(element, name, this);
this.element = $(element);
this._init(options);
@kflorence
kflorence / ieChangeFix.js
Created Jan 8, 2011
Fix for IE not firing the change event for certain inputs (namely, checkboxes and multiple select lists).
View ieChangeFix.js
/**
* Fixes binding the "change" event to checkboxes and select[type=multiple]
* for Internet Explorer.
*
* @param {jQuery|Element|Element[]} elements
* The DOM Element we wish to bind the event to.
*
* @param {String} eventType
* The name of the event we want to bind to.
*
View IE_Version_Testing.js
// ----------------------------------------------------------
// A short snippet for detecting versions of IE in JavaScript
// without resorting to user-agent sniffing
// ----------------------------------------------------------
// If you're not in IE (or IE version is less than 5) then:
// ie === undefined
// If you're in IE (>=5) then you can determine which version:
// ie === 7; // IE7
// Thus, to detect IE:
// if (ie) {}
@kflorence
kflorence / jquery-attached-detatched.js
Created Apr 28, 2011
Convenience methods to determine whether or not an element is attached or detached from the DOM
View jquery-attached-detatched.js
(function( jQuery ) {
jQuery.extend({
attached: function( elem ) {
if ( elem instanceof jQuery ) {
elem = elem[ 0 ];
}
return jQuery.contains( elem.ownerDocument.documentElement, elem );
},
detached: function( elem ) {
View isArrayLike.js
(function( jQuery ) {
// Determines if we can treat an object like an array.
var isArrayLike = function( obj ) {
var length;
// Supports arrays, jQuery objects, nodeLists and HTMLCollections
// Should also support function arguments, but there is no cross-browser way...
return obj && ( obj instanceof jQuery || ( typeof obj === "object" &&
!jQuery.isWindow( obj ) && ( typeof ( length = obj.length ) === "number" &&
( obj.item && ( obj.namedItem || jQuery.isFunction( obj.item ) ) ) ) || jQuery.isArray( obj ) ) );
View isArguments.js
var isArguments = (function( undefined ) {
var toString = Object.prototype.toString,
returnTrue = function() {
return arguments !== undefined;
};
return function( obj ) {
if ( obj != null ) {
if ( toString.call( obj ) == "[object Arguments]" ) {
return true;
@kflorence
kflorence / amazonmp3ubuntu64.sh
Created Aug 11, 2011
Amazon MP3 Ubuntu 10.04 64-bit Install
View amazonmp3ubuntu64.sh
wget http://frozenfox.freehostia.com/cappy/getlibs-all.deb
sudo dpkg -i getlibs-all.deb
wget http://amazonm-002.vo.llnwd.net/u/d1/clients/en_US/1.0.9/amazonmp3_1.0.9~ibex_i386.deb
sudo getlibs -w http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-filesystem1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-regex1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-date-time1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-signals1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-iostreams1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/b/boost/libboost-thread1.34.1_1.34.1-11ubuntu1_i386.deb http://old-releases.ubuntu.com/ubuntu/pool/main/i/icu/libicu38_3.8.1-2ubuntu0.2_i386.deb
sudo dpkg -i --force-all amazonmp3.deb
sudo getlibs /usr/bin/amazonmp3
@kflorence
kflorence / parseUri.js
Created Aug 24, 2011
Modified version of Steven Levithan's parseUri 1.2.2
View parseUri.js
// Modified version of Steven Levithan's parseUri 1.2.2
// See: http://blog.stevenlevithan.com/archives/parseuri
function parseUri( uri ) {
var uriRegex = new RegExp(
// Protocol
"^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?" +
// Authority
"(" +
// Credentials
"(?:(" +
@kflorence
kflorence / border-opacity.scss
Created Jan 18, 2012
SASS Border Opacity Mixin
View border-opacity.scss
// Opacity should be on a 100 point scale (0-100 instead of 0.0-1.0)
// This should be used to supplement a normal border definition as it
// only deals with the 'border-color' property.
@mixin border-opacity($color, $opacity) {
$opacity: $opacity / 100;
// Unsupporting browsers get this
border-color: $color;
// Browsers that support RGBA will get this instead
@kflorence
kflorence / arrow.scss
Created Apr 2, 2012
@mixin arrow($color, $width)
View arrow.scss
/*
HTML: <img class="arrow" src="<?= $wg->BlankImgUrl ?>" />
SASS: .arrow { @include arrow(); }
*/
@mixin arrow($width: 4px, $color: black, $direction: 'down') {
border-color: transparent;
// Fixes the 'jagged line' problem for modern browsers
// See: http://css-tricks.com/snippets/css/css-triangle/#comment-108252
border-color: rgba($color, 0);