眼睛跟随鼠标光标Mootools - > JQuery的

时间:2013-02-12 15:16:40

标签: javascript jquery mootools

我正在寻找一些代码来帮助我按照光标在页面上进行操作,有一些示例,但是这一个引起了我的注意:https://github.com/Goutte/Eye主要是因为它需要的代码很少。

它使用了我以前从未看过的mootools,是否可以将其转换为使用jQuery,或者有人可以解释这是如何使用这么少的javascript? mootools内置了哪些功能可以让它变得如此简单?

的jsfiddle: http://jsfiddle.net/B2Nza/46/

var options2 = {
  socketRadius: 2, // radius of the circle in which the eye's pupil can move
  bindTouchMove: true,
}

var leftEye2  = new Eye ('left_eye2', options2);
var rightEye2 = new Eye ('right_eye2', options2);

var fly2 = new Eye ('fly2', {
    socketRadius: 17,
    behavior: 'follow',
    stickToSocket: true
});

1 个答案:

答案 0 :(得分:4)

以下是使用JavaScript的方法。

var element = document.getElementById("leela-eye");
document.addEventListener("mousemove", function (event) {
    var x = event.pageX;
    var y = event.pageY;   
    var offsets = eye.lens.getBoundingClientRect();
    var left = (offsets.left - x)
    var top = (offsets.top - y)
    var rad = Math.atan2(top, left);
    element.style.webkitTransform = "rotate(" + rad + "rad)";
});

jsFiddle

如果您的浏览器不支持将弧度传递给rotate(),则可以将其转换为度数(并在属性值中将raddeg交换)。

var deg = rad * (180 / Math.PI);