• Stars
    star
    768
  • Rank 59,159 (Top 2 %)
  • Language
    JavaScript
  • Created over 10 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

jQuery plugin which guesses which element user is going to be hovered/clicked.

jquery.aim

jQuery plugin anticipates on which element user is going to hover/click.

test

Examples

A couple of examples can be found the examples page

Usage

Call the function on the elements to catch user aim and add a class which will be added or removed when aiming starts or ends

$('#target').aim({
    className: 'open'
});

If you want to execute a function on aim starts or ends, use the aimEnter and aimExit options

$('#hamburger').aim({

    aimEnter: function() {
        $('#menu').show();
    },

    aimExit: function(){
        $('#menu').hide();
    }
});

Debugging

To see where your cursor is aiming and check if it intersects with elements use

$.aim.setDebug(true);

and you will see a rectangle moving around.

Defining own function

If you don't like the default algorithm, define your own by the following procedure

function anticipateFunc(p, v, mouseX, mouseY, anticipator) {
  /*
  Calculate the new position of anticipator using inputs
  p = {x:number,y:number}
  v = {x:number,y:number}
  mouseX = number
  mouseY = number

  Anticipator has some readonly values like the following

  {
      size: 50,
      center: {x: 0, y: 0},
      effectiveSize: 1,
      rect : {x0: 0, y0: 0, x1: 50, y1: 50}
  }

  */
}

$.aim.setAnticipateFunction(anticipateFunc);