Букавки

Сейчас все дружно подумают что я съехал с катушек…

Да-да, это летающие букавки! История создания на форуме


(function () {
	var 
	
	r = function (shift) {
		return (Math.random() * 255) << shift;
	},
  
	print = function (letter, opacity, fontsize) {
		letter.style.opacity = opacity;
		letter.style.fontSize = fontsize+"px";
		~~(opacity * 100) > 1 &&
		(a = arguments) &&
		setTimeout(function () { a.callee(letter, opacity - 0.07, fontsize * 0.85); }, 50) ||
		rem(letter);
	},
   
	rem = function (l) {
		l.parentNode.removeChild(l);
	},
  
	letter = function (html, color) {
		var l = document.createElement("div");
		l.style.textAlign = "center";
		l.style.position = "fixed";
		l.style.width = "100%";
		l.style.fontSize = "700px";
		l.style.top = 0;
		l.style.color = color;
		l.innerHTML = html;
		return document.querySelector("body").appendChild(l);
	};
  
	document.documentElement.addEventListener("keypress", function (e) {
		print(letter(String.fromCharCode(e.charCode).toUpperCase(), "#" + (r(16) + r(8) + r(0)).toString(16)), 1, 700);
		e.preventDefault();
	}, false);
	
})();

Работает как букмарклет или из фаербага, даже на этом сайте.

ЗЫ сюда выложил чтобы черновики не засорял.

2 Комментарии “Букавки

  1. В функции ~~ лишнее, т.к. побитовый сдвиг уже отбросит дробную часть числа.

    P.S. В ходе профилирования было выяснено, что |0 лучше, чем ~~.

Комментарии закрыты