Skip to content

Conversation

@bretkikehara
Copy link

@bretkikehara bretkikehara commented Aug 25, 2016

When jump is called expose the cancel handler to stop the animation.

Tries to solve #7 without external dependencies or extra event handlers

@bretkikehara
Copy link
Author

bretkikehara commented Sep 1, 2016

btw, if anyone is interested in trying this PR...

$ npm install jump.js-cancelable@1.1.2-alpha
var jumper = require('jump.js-cancelable');
jumper.jump(...);
jumper.cancel();

@callmecavs
Copy link
Owner

callmecavs commented Sep 1, 2016

@bretkikehara havent had time to look closely at the changes to the source, but do think this is the best approach - no event listeners, just giving the user a function to cancel the jump as they see fit.

will take a look when I get the chance - thanks for the submission and taking the initiative on this one.

@bretkikehara
Copy link
Author

So after using this a bit more, I found that exposing the timeStart is crucial to knowing the appropriate instance to cancel a jump.

https://jsfiddle.net/p5LL5fc4/

@cvlab
Copy link

cvlab commented Mar 25, 2017

@bretkikehara Thanks, very useful patch! Minor changes:
Instead of

  return {
    jump,
    cancel,
    isJumping,
  };

I'd like to see

	jump.cancel = cancel;
	jump.isJumping = isJumping;

	// expose only the jump method
	return jump
jump('.target')
jump.cancel()

this will not break existing API, or much better:

function jump(target, options = {}) {
	...
	return {cancel, isJumping}
}
let myJump1 = jump('.target1', {container: '#container1'})
let myJump2 = jump('.target2', {container: '#container2'})
...
myJump1.cancel()

because with custom container support, I think, will be possible to run a few jumps simultaneously.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants