UNPKG

trial-js

Version:

simple library to monitoring mouse position and predicting user input

85 lines (62 loc) 3.5 kB
# Trial.js simple library to monitoring mouse position and predicting user input * No dependency * Lightweight (2kb gzipped) * Automatically extends `jQuery` and `Zepto` properties * `webpack` loader supported [Examples ]() [Usage]() ## APIs ####Trial(selector) @params selector {String|Node|NodeList|Array{Node}|jQuery object} @return {Trial instance} @constructor Initialize a new Trial instance related to selector, same selector would only have one Trial instance, if `Trial(selector)` be called twice with same selector, the second calling would return the same instance created in first calling. `selector` could be query string, NodeList or `$` object ####Trial.fn.within(options, callback) @params options {Object} @params callback {Function} @return {Trial instance} This method setup a circular area on matched element, when mouse pointer moving within this area, event handler would be called ![Distance options](https://raw.githubusercontent.com/MarkoCen/markocen.github.io/master/trialjs/img/distance.jpg) *options*: `distance` {Number} : determine the radius of the circular area `cord` {String} : determine the center of the circular area, could be `center`, `topLeft`, `topCenter`, `topRight`, `centerLeft`, `centerRight`, `bottomLeft`, `bottomCenter`, `bottomRight` ![Coordinate options](https://raw.githubusercontent.com/MarkoCen/markocen.github.io/master/trialjs/img/cord.jpg) *callback* An event handler to be called when mouse pointer moving within the circular area, arguments: `distance` {Number} : current distance between mouse pointer and matched element `ele` {Node} : matched element `event` {Event} : mousemove event ####Trial.fn.enter(options, callback) @params options {Object} @params callback {Function} @return {Trial instance} same as `Trial.fn.within`, but only call the event handler when mouse pointer enter the circular area *options*: `distance` {Number} : determine the radius of the circular area `cord` {String} : determine the center of the circular area, could be `center`, `topLeft`, `topCenter`, `topRight`, `centerLeft`, `centerRight`, `bottomLeft`, `bottomCenter`, `bottomRight` *callback* An event handler to be called when mouse pointer enter the circular area, arguments: `distance` {Number} : current distance between mouse pointer and matched element `ele` {Node} : matched element `event` {Event} : mousemove event ####Trial.fn.leave(options, callback) @params options {Object} @params callback {Function} @return {Trial instance} same as `Trial.fn.within`, but only call the event handler when mouse pointer leave the circular area *options*: `distance` {Number} : determine the radius of the circular area `cord` {String} : determine the center of the circular area, could be `center`, `topLeft`, `topCenter`, `topRight`, `centerLeft`, `centerRight`, `bottomLeft`, `bottomCenter`, `bottomRight` *callback* An event handler to be called when mouse pointer leave the circular area, arguments: `distance` {Number} : current distance between mouse pointer and matched element `ele` {Node} : matched element `event` {Event} : mousemove event ####Trial.fn.off(eventName) @params eventName {String} @return {Trial instance} Unbind an event handler for specific event, eventName could be `within`, `enter`, `leave` ## License MIT