5

What's the best way to check for the negative of a variable?

Here are my variables:

var frameWidth = 400;
var imageWidth = parseInt($('#' + divId).find('#inner-image').css('width'), 10);
var imageMargin = parseInt($('#' + divId).find('#inner-image').css('margin-left'), 10);
var numberOfFrames = imageWidth/frameWidth;

I want to perform a check kind of like this:

if (imageMargin == -numberOfFrames*frameWidth-400 )

But I don't know how.

In other words, if numberOfFrames*frameWidth-400 equals 800, I need it to return -800.

Thanks again for any direction you can provide.

0

3 Answers 3

9

There should be no problems if you put parenthesis around the value you want to negate:

if (imageMargin == -(numberOfFrames*frameWidth-400) )
   ...
Sign up to request clarification or add additional context in comments.

1 Comment

@Rrryyyaaannn If the result of (numberOfFrames*frameWidth-400) is itself negative then the expression above will check for the positive... is that OK? @Matt's function getNegativeOf() will always return the negative.
4

If you always want a negative value, and you don't know if it'll be positive or negative:

function getNegativeOf(val) {
    return Math.abs(val) * -1;
};

Then use as:

var guaranteedNegativeImageWidth = getNegativeOf(parseInt($('#' + divId).find('#inner-image').css('width'), 10));

Comments

0

How about subtracting it from zero?

if (imageMargin == (0-(numberOfFrames*frameWidth-400)) )

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.