##Object Merger
Recurcively merges two objects.
merge(
{foo:"foo"},
{bar:{lol:"lol"}}
);
//visual basics code from http://www.vb-helper.com/howto_net_circle_circle_tangents.html ported to glsl | |
vec4 FindCircleCircleIntersections(vec2 p0, float r0, vec2 p1, float r1){ | |
vec2 dd = p1-p0; | |
float d = length(dd); | |
float a = (r0 * r0 - r1 * r1 + d * d) / (2.0 * d); | |
float h = sqrt(r0 * r0 - a * a); |
##Object Merger
Recurcively merges two objects.
merge(
{foo:"foo"},
{bar:{lol:"lol"}}
);
converts canvas image data to a 2d array of booleans
array=img2array(imagedata,width,height)
array[x][y] //gives true or false
very useful for games where you need pixel perfect collision.
Reading an image every time you check for collision is slow. Using a 2d array makes it much faster, and has a very simple syntax (array[x][y]) .
A minimalist masonry function
mason(containerElement,brickElement,brickWidth,brickHeight)
Only works with one size of brick.
The only advantage of using this over using inline-block elements is that you can use css transitions.
This function loops through all images on the page, and serves the appropriately sized image file from a list in a data attribute.
example link: http://total.maloweb.com/responsive
example html:
<img src="default.png" data-widths="400,600,800,1023" data-srcsuffix="-foo.png">
example javascript:
recursively checks every parent of the element to get the ABSOLUTE offset of the element.
call it like this:
getOff(element).x
getOff(element).y
//function | |
calendar = function(year,month,template,rowStart,rowEnd,cellStart,cellEnd){ | |
var tmpl=function(a,b){return a.replace(/\{\{([^{}]+)}}/g,function(c,d){return typeof b[d]=="function"?b[d]():b[d]})} | |
return tmpl(template,{ | |
monthName:"January,February,March,April,May,June,July,August,September,October,November,December".split(",")[month], | |
year:year, | |
days:function(f,txt,i){ |
a neat function that allows this:
document.getElementsByTagName('i').innerHTML="pie";
and it will change the innerHTML of all tags AUTOMATICALLY!!!!
incredible!
#Javascript Rss Reader#
Takes a rss feed and prints html (defined by a template) for every post.
Turns indentation into {curly brackets} Great for a yml to json converter or something. Credit to @maettig for writing all* the code.
Turn this:
if(3==3)
alert("obviously!")
alert("lol!")
Into: