Search In
• More options...
Find results that contain...
Find results in...

# Draggable locked in diagonal movement only

Go to solution Solved by Carl,

#### Warning: Please note

This thread was started before GSAP 3 was released. Some information, especially the syntax, may be out of date for GSAP 3. Please see the GSAP 3 migration guide and release notes for more information about how to update the code to GSAP 3's syntax.

## Recommended Posts

Hello,

I was wondering how could I limit a draggable movement only diagonally towards top-left and bottom-right.

Thanks guys!

##### Share on other sites

Hi Michael,

Not sure how practical that will be to implement. You could rotate the bounds by 45 and then rotate the draggable's target by -45 like this:
http://codepen.io/GreenSock/pen/azNxRO

Does that work?

##### Share on other sites

Hey Carl I see what you mean, the codepen example doesn't work though, it throws the Codepen 404 equivalent.

• Solution
##### Share on other sites

Thank you, yes that is what I was looking for, sometimes we have to think out of the box right?

Really Nice Carl

##### Share on other sites

weird. try this:

See the Pen azNxRO by GreenSock (@GreenSock) on CodePen

Very neat!

##### Share on other sites

• 1 month later...

This is in another way to do it:

Hi Cirox,

You can constrain the shape by doing a little math...

var offset = this.x * Math.tan(45 * Math.PI / 180);
TweenLite.set(drag, { width: this.x, height: offset });
TweenLite.set(handle, { top: offset });

But an even easier approach would be to do it as a ratio. 45 degrees would be 1:1, so just set the height and width equal to each other.
TweenLite.set(drag, { width: this.x, height: this.x });
TweenLite.set(handle, { top: this.x });

CodePen URL:

See the Pen emWwzb?editors=001 by osublake (@osublake) on CodePen

Thanks OSUblake

## Create an account or sign in to comment

You need to be a member in order to leave a comment

## Create an account

Sign up for a new account in our community. It's easy!

Register a new account