/dom-animator

A nifty javascript library to run animations, hidden in comment nodes, within the dom.

Primary LanguageJavaScript

Dom Animator

A nifty JavaScript library, used to show small ASCII animations within comments in your dom. It's a little easter egg for anyone inspecting your code. Nothing more, nothing less.

Instructions

dom-animator.js is a stand alone library (no jQuery, or the likes) so usage is pretty straight forward. You won't need any CSS, or HTML... just JavaScript. (since the animations live in comment nodes, in the dom, only)

JS

DomAnimator.js can be simple, or complex, depending on what you're trying to achieve with your animation. You'll need to create a new instance of domanimator (having already included the script in the page). Here is the most simple example, a winking face.

<script>
	var domAnimator = new DomAnimator();
	domAnimator.addFrame('o_o');
	domAnimator.addFrame('-_o');
	domAnimator.animate();
</script>

The above animation, exists on a single line. If you want multiple levels, you can pass in a list of strings to the frame. Or include your own carriage returns (\n's)

<script>
	var domAnimator = new DomAnimator();
	domAnimator.addFrame(['0_0', ' | ', ' | ']);
	domAnimator.addFrame(['0_-', ' | ', ' | ']);
	domAnimator.animate();
</script>

If you like, you can set the one speed, for all of the frames. Otherwise they will default to 500ms intervals. (these are ascii animations, no need for 60fps)

<script>
	var domAnimator = new DomAnimator();
	domAnimator.addFrame('o_o');
	domAnimator.addFrame('-_o');
	domAnimator.animate(1000); //ms
</script>

If you want to stop the animation, for any given reason, just call stop

<script>
	// Setup
	var domAnimator = new DomAnimator();
	domAnimator.addFrame('o_o');
	domAnimator.addFrame('-_o');
	domAnimator.animate();

	// After 10 seconds.
	setTimeout(function() {
		domAnimator.stop(); // Stop the animation
	}, 10000);
</script>

Examples / In the wild!

You can see the animation in the console on the demo page. There's also a video, if you're really confused.

Browser support

Dom Animator has been tested in the latest stable builds of Safari, Chrome & Firefox... Chrome displays the a little cleaner, since it supports newlines in the console. But all the browsers work.

License

The MIT License (MIT)

Copyright (C) ~ Tim Holman ~ timothy.w.holman@gmail.com