Event Name:
Location:
Date:
Talk topic:
Event Name:
Location:
Date:
Talk topic:
| /* | |
| * Minimal classList shim for IE 9 | |
| * By Devon Govett | |
| * MIT LICENSE | |
| */ | |
| if (!("classList" in document.documentElement) && Object.defineProperty && typeof HTMLElement !== 'undefined') { | |
| Object.defineProperty(HTMLElement.prototype, 'classList', { | |
| get: function() { |
| /** | |
| * Cross Browser helper to addEventListener. | |
| * | |
| * @param {HTMLElement} obj The Element to attach event to. | |
| * @param {string} evt The event that will trigger the binded function. | |
| * @param {function(event)} fnc The function to bind to the element. | |
| * @return {boolean} true if it was successfuly binded. | |
| */ | |
| var cb_addEventListener = function(obj, evt, fnc) { | |
| // W3C model |
| function whichTransitionEvent(){ | |
| var t; | |
| var el = document.createElement('fakeelement'); | |
| var transitions = { | |
| 'transition':'transitionend', | |
| 'MSTransition':'msTransitionEnd', | |
| 'MozTransition':'transitionend', | |
| 'WebkitTransition':'webkitTransitionEnd' | |
| } |
| //addEventListener polyfill 1.0 / Eirik Backer / MIT Licence | |
| (function(win, doc){ | |
| if(win.addEventListener)return; //No need to polyfill | |
| function docHijack(p){var old = doc[p];doc[p] = function(v){return addListen(old(v))}} | |
| function addEvent(on, fn, self){ | |
| return (self = this).attachEvent('on' + on, function(e){ | |
| var e = e || win.event; | |
| e.preventDefault = e.preventDefault || function(){e.returnValue = false} | |
| e.stopPropagation = e.stopPropagation || function(){e.cancelBubble = true} |
| /** | |
| * Loading animation like the one seen on http://www.freeger.com/projects/contextad/ with CSS | |
| * Caveat: Not DRY. The content needs to be repeated in a data- attribute (or directly in the CSS). | |
| */ | |
| body { | |
| background: #ccc51c; | |
| min-height: 100%; | |
| } |
| // Straightforward + simple. | |
| $("button").on("click", function(event) { | |
| event.preventDefault(); | |
| var button = $(this); | |
| var numberElem = button.find(".number"); | |
| var number = Number(numberElem.text()) - 1; | |
| numberElem.text(number); | |
| if (number === 0) { | |
| button.prop("disabled", true); | |
| button.off("click"); |