#Geometry of 2D & 3D figures with
##2D figures
Area | Circumference |
---|
/* Clearfix | |
---------------------------------------*/ | |
.cf:before, | |
.cf:after { | |
content:""; | |
display:table; | |
} | |
.cf:after { clear:both } | |
.cf { *zoom:1 } |
* { | |
-webkit-box-sizing: border-box; | |
-moz-box-sizing: border-box; | |
box-sizing: border-box; | |
} |
var arr = { | |
max: function(array) { | |
return Math.max.apply(null, array); | |
}, | |
min: function(array) { | |
return Math.min.apply(null, array); | |
}, | |
range: function(array) { |
var sudo = (function(arr, obj) { | |
[ | |
['forEach', arr, 'each'], | |
['map', arr], | |
['indexOf', arr], | |
['filter', arr], | |
['hasOwnProperty', obj, 'has'], | |
['toString', obj] | |
].forEach(function(method) { | |
var fn = method[1][method[0]]; |
// call.js | |
// chainable setTimeout and setInterval JavaScript wrapper | |
// | |
// By Daniel Hug: https://gist.github.com/Daniel-Hug/9062765 | |
// MIT license: http://hug.mit-license.org/ | |
// | |
// use: | |
// var timer = call(fn, scope, args).after(1000).start(); | |
// var interval = call(fn, scope, args).every(1000).fire().start(); | |
// timer.stop(); |
#Geometry of 2D & 3D figures with
##2D figures
Area | Circumference |
---|
//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){ | |
e = e || win.event; | |
e.preventDefault = e.preventDefault || function(){e.returnValue = false} | |
e.stopPropagation = e.stopPropagation || function(){e.cancelBubble = true} |
{ | |
"content": "Wierd Char --> 
 <--" | |
} |
function arrayTo2d(items, width) { | |
var rows = []; | |
var lastRow; | |
items.forEach(function(item, i) { | |
// add another row when cell index is divisble by width | |
if ((i) % width === 0) { | |
lastRow = []; | |
rows.push(lastRow); | |
} |
// Make strings safe for innerHTML and attribute insertion (templates): | |
var escapeHTML = (function() { | |
var entityMap = { | |
'&': '&', | |
'<': '<', | |
'>': '>', | |
'"': '"', | |
"'": ''' | |
}, | |
re = /[&<>"']/g; |