Google xEyes JavaScript
Google xEyes JavaScript - from google.com/ig
by j08691
HTML
<table align="center" border="0" cellpadding="0" cellspacing="0" style="margin-top:5px;">
<TBODY><tr>
<td background="http://www.gstatic.com/ig/modules/eyes/eye-r.gif">
<div style="width:117px;height:117px;">
<img id="EYES_pupil00" src="http://www.gstatic.com/ig/modules/eyes/pupil.gif">
</div>
</td>
<td background="http://www.gstatic.com/ig/modules/eyes/eye-y.gif">
<div style="width:117px;height:117px;">
<img id="EYES_pupil10" src="http://www.gstatic.com/ig/modules/eyes/pupil.gif">
</div>
</td>
</tr>
</TBODY></table>
CSS
#EYES_pupil00,#EYES_pupil10 {
position:relative;
width:15px;
height:15px;
left:52px;
top:52px;
}
JavaScript
var EYES0 = {
MAX_DIST: 37,
// furthest pupil can move from center
EYE_RADIUS: 59,
// eye image width / 2
PUPIL_RADIUS: 7,
// pupil image width / 2
pupils: [],
init: function() {
if (document.addEventListener) {
document.addEventListener('mousemove', EYES0.moveEyes, false);
} else if (document.attachEvent) {
document.attachEvent('onmousemove', EYES0.moveEyes);
}
EYES0.pupils = [document.getElementById("EYES_pupil00"), document.getElementById("EYES_pupil10")];
},
moveEyes: function(e) {
if (!e) e = window.event;
var app = EYES0;
for (var i = 0; i < app.pupils.length; i++) {
var pupil = app.pupils[i];
// The middle points of the eyes
var midx = app.getPagePos(pupil.parentNode, true) + app.EYE_RADIUS;
var midy = app.getPagePos(pupil.parentNode, false) + app.EYE_RADIUS;
// Page scroll
var scrollx = 0;
var scrolly = 0;
if (typeof(window.pageXOffset) == 'number') {
scrollx = window.pageXOffset;
scrolly = window.pageYOffset;
} else {
scrollx = document.documentElement.scrollLeft;
scrolly = document.documentElement.scrollTop;
}
// The distX/distY from eye middles to the mouse
var distX = e.clientX + scrollx - midx;
var distY = e.clientY + scrolly - midy;
// The absolute distance from eye middles to the mouse
var dist = Math.sqrt(Math.pow(distX, 2) + Math.pow(distY, 2));
if (dist > app.MAX_DIST) {
// mouse out of eyeball, scale distX/distY to be at eyeball edge
var scale = app.MAX_DIST / dist;
distX *= scale;
distY *= scale;
}
// Place the pupil appropriately
pupil.style.left = parseInt(distX +...