Skip to content

Instantly share code, notes, and snippets.

Avatar

William Malo williammalo

View GitHub Profile
@williammalo
williammalo / README.md
Last active Oct 6, 2015 — forked from 140bytes/LICENSE.txt
get offset of element
View README.md

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
@williammalo
williammalo / README.md
Last active Oct 7, 2015 — forked from 140bytes/LICENSE.txt
masonry under 140bytes
View README.md

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.

@williammalo
williammalo / README.md
Last active Oct 8, 2015 — forked from 140bytes/LICENSE.txt
image to 2d array
View README.md

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]) .

View README.md

##Object Merger

Recurcively merges two objects.

merge(
  {foo:"foo"},
  {bar:{lol:"lol"}}
);
@williammalo
williammalo / CircleCircleTangents.glsl
Last active Dec 5, 2016
Find Tangents of Two Circles in glsl, useful for calculating soft shadows https://www.shadertoy.com/view/Mtc3R2
View CircleCircleTangents.glsl
//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);
@williammalo
williammalo / Readme.md
Created Mar 10, 2012 — forked from thingsinjars/LICENSE.txt
Chainable DOM Manipulation
View Readme.md
@williammalo
williammalo / README.md
Last active Jan 26, 2018 — forked from 140bytes/LICENSE.txt
The cleanest, easiest dom api ever! It will change your life!
View README.md

I always thought there was a better way to access the dom. This is a tool that allows you to use extremely simple syntax to access dom elements. It makes an object with the name of your choice (I chose "$") that contains a reference to all elements that have an id.

example:

<script> $.foo.innerHTML = "Hello world" </script>

You can even choose to use an object that already exists (I chose "document" because it makes sense)

@williammalo
williammalo / README.md
Last active Jan 27, 2018 — forked from 140bytes/LICENSE.txt
Complete jquery css method clone
View README.md

A perfect replica (hopefully) of the jQuery .css() method

testNode.css("color","blue")   //use it with two string arguments!

testNode.css({color:"red"})    //use it with an object!

testNode.css("color")          //make it return the value of a property

It's even chainable!

@williammalo
williammalo / README.md
Last active Mar 8, 2018 — forked from 140bytes/LICENSE.txt
get query variable
View README.md

use like this:

getQueryVariable("foo")

To get variables in urls eg:

http://foo.com/index.html?foo=bar

If you want to support arrays, check the version by @atk below:

@williammalo
williammalo / README.md
Last active Mar 8, 2018 — forked from 140bytes/LICENSE.txt
BoxCollisionCheck
View README.md

Function to check if 2 objects collide. Very useful for games.

arguments:

a: object 1 x

b: object 1 y

You can’t perform that action at this time.