Skybyte.js independent javascript file is only 3KB and extends prototype.js with some handy functions.
1.1 Mouse Tracking
Mouse.start() - activates global mouse positioning observer
Mouse.stop() - deactivates global mouse positioning observer
1.2 Mouse Tracking with callback function
Mouse.start(object) - where "object._mouseMove(e)" function called each time mouse moved
Mouse.stop(object) - deactivates object callback funcion
Object Example: returns cursor position and element under the cursor
var Object1 = {
_mouseMove: function(e){
$('Object1XY').innerHTML='XY: '+Mouse.x+' x '+Mouse.y+
', Element:'+Event.element(Mouse.event).tagName;
}
}
1.3 Receiving coordinates:
var x=Mouse.x, var y=Mouse.y - current mouse coordinates after Mouse.start function has been fired.
2.1 Put element in x,y
Element.putAt(
target: DOM Element,
coordinates: {x,y}
)
Example: Element.putAt('some_id',{10,10});
.................
2.2 Put element in x,y and resize to w,h
Element.showAt(
target: DOM Element,
coordinates: {x,y,w,h}
)
Example: Element.showAt('some_id',{10,10,100,100});
.................
2.3 Return element position and dimensions as object{x,y,w,h}
Element.xywh(
target: DOM Element
)
Example: var coords = Element.xywh('some_id');
.................
2.4 Return element dimensions as object{w,h}
Element.wh(
target: DOM Element
)
Example: var size = Element.wh('some_id');
.................