$(document).ready(function() { // settings var nonsenseCount = 1000; var chrs = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; var glowDistance = 100*100; // square because of pythagoras // generating nonsense var nonsenseProps = {}; var wrapper = $(".wrapper"); var wHeight = wrapper.height() + 30; var wWidth = wrapper.width() + 30; for (i = 0; i < nonsenseCount; i++) { var nonsense = $(document.createElement("div")); nonsense.text(chrs.charAt(Math.random() * chrs.length)); nonsense.addClass("floating-nonsense"); nonsense.css("top", Math.floor(Math.random() * wHeight) - 30); nonsense.css("left", Math.floor(Math.random() * wWidth) - 30); nonsense.css("font-size", Math.floor(Math.random() * 20 + 30)); var opacity = Math.random() * 0.5; nonsense.css("opacity", opacity); nonsenseProps[i] = opacity; wrapper.prepend(nonsense); } // adding hover effects $(wrapper).mousemove(function(event) { var wrapperPos = $(this).offset(); var mouseLeft = event.pageX - wrapperPos.left; var mouseTop = event.pageY - wrapperPos.top; $(this).children(".floating-nonsense").each(function(index, elem) { var childPos = $(this).position(); var distance = Math.pow(mouseLeft - childPos.left, 2) + Math.pow(mouseTop - childPos.top, 2); var c = glowDistance - distance; c = c < 0 ? 0 : c; $(elem).css("opacity", nonsenseProps[index] + (c/glowDistance/2)); }); }); });