Formula - Cap width at 100% [closed] - javascript

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 4 years ago.
Improve this question
I have the following working just fine. Anything under 100 is taken as itself while more than that is capped at 100. While it works fine, I would like to write it as a maths formula for neatness. Any ideas?
var ceiling = 100;
var incrementSize = 10;
var width = ""
if (score*incrementSize<ceiling)
{
width = "" + incrementSize * score + "%";
}
else
{
width = "" + ceiling + "%";
}
divj.style.width = width;

You could use a ternary operation (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)
Basic syntax is:
("condition to be evaluated")? "return if true" : "return if false"
divj.style.width = (score*incrementSize<ceiling)? incrementSize * score + "%" : ceiling + "%";
This'll reduce things down to just one line.

Related

How to refactor this code with if statement [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 1 year ago.
Improve this question
I have code with if statement (below). Is it possible to refactor this code? because in this method is ugly if statement :(
getOverallAmount(estimate) {
const {installments} = estimate;
const {vipValue} = estimate;
if (installments !== 1) {
const oneInstallment = vipValue / installments;
const allWithOneInst = vipValue - (oneInstallment * installments) + 1;
return oneInstallment + allWithOneInst;
}
return vipValue;
}
Using a ternary operator instead of the if statement:
getOverallAmount(estimate) {
const {installments} = estimate;
const {vipValue} = estimate;
const oneInstallment = vipValue / installments;
const allWithOneInst = vipValue - (oneInstallment * installments) + 1;
return (installments !== 1) ? oneInstallment + allWithOneInst : vipValue;
}

Get the percentage of a number with javascript [closed]

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 6 years ago.
Improve this question
So I am creating a web app and I get some data.
There are points you have now (now=284), and total points (total=1000). So, The difference between them is dif=716.
How do I use javascript to turn the difference into a percentage value, for example, 32% or whatever?
Thanks
This is a math question, not programming, but you ask for javascript here you are an example:
var value = 249;
var total = 1000;
var calcPercent = function(v, t) {
return 100*v/t;
};
alert(calcPercent(value, total)+"%");
var total = 1000,
subtract = 284;
var differencePercentage = ((total - subtract) / total) * 100; // 71.6
Simple math would be
var now = 284;
var total = 1000;
console.log( "percentage is " + (now* 100/total) );
console.log( "Negative percentage is " + (100-(now* 100/total)) );
(function(){
var now = 284;
var total = 1000;
var difference = ((total - now) / total) * 100;
alert(difference);
})()

How do I make a numerical array's increase amount smaller in each step? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I would like to make a numeric array which increases in every step.
[1,200,400,600,800,1000, .... , 10000]
But I need to make the amount by which it increases progressively smaller in every step. For example,
[1, 200, 300, 350, 325, 312.5, ....., 10000]
If anybody knows the solution, please give me some ideas.
Thank you.
Change the increment amount as you please...
var arr = [];
var i = 1;
var incrementAmt = 2000;
for(var j = 0; j < 1000; j++) {
var num = i + incrementAmt;
arr.push(num);
i = num;
i++;
incrementAmt = incrementAmt / 2; // cause incrementer to decrease each iteration
}
console.log(arr)

Draw path of divs between two divs [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
Is it possible to position n divs in between two absolute positioned divs? Im creating some sort of map and would like to draw footprints between two points. I was wondering if i could calculate coordinates of first and second div and determine how many footprints (with fixed width) would go in between and than somehow absolute position them with top and left position.
I don't know how to put this together in jQuery or Javascript.. Any ideas??
Thank you in advance!
Well, this is what I came up with:
Fiddle
There can be as many pairs of points as you wish, one has the class first, the other having the class second, and they will be paired with steps thanks to the following:
var f = $('.first');
var s = $('.second');
f.each(function(i) {
var f2 = f.eq(i);
var s2 = s.eq(i);
var xdist = s2.position().left - f2.position().left;
var ydist = s2.position().top - f2.position().top;
var dist = Math.sqrt(xdist*xdist + ydist*ydist); // Pythagoras
var numOfSteps = Math.round(dist / 50) - 1;
var stepX, stepY;
for (var l = 0; l < numOfSteps; l++) {
stepX = xdist/(numOfSteps+1)*(l+1) +
f2.width()/2 + f2.position().left;
stepY = ydist/(numOfSteps+1)*(l+1) +
f2.height()/2 + f2.position().top;
$('<div></div>').addClass('step').appendTo($(document.body))
.css('left', stepX + 'px')
.css('top' , stepY + 'px');
}
});
It's pretty much understandable without any comments, but if you can't figure out something, feel free to ask.
The number of footprints is calculated here:
var numOfSteps = Math.round(dist / 50) - 1;
and so to change the amount of footprints, change the number 50 to something else (the bigger the number, the less footprints).
Glad to help, was fun coming up with this ;)

How to add and remove to 2 variables [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
im trying to add and remove to 2 different variables in a code for a incremental game.
here is the code:
$("#autoPayCheckBuy").click(function () {
if (totalClicks >= 50) {
totalClicks -= 50;
totalMoneys += 50;
$("#total_moneys").text(totalMoneys);
$("#total_clicks").text(totalClicks);
}
});
and here is the code for the money/clicks:
var totalClicks = 0;
var totalMoneys = 100;
sorry that i cant give a exact problem, i just cant find a problem in the code :(
I can't find a problem in the code either. What exactly is your problem? Maybe you are missing the d.ready ?
var totalClicks = 0;
var totalMoneys = 100;
$( document ).ready(function() {
$("#autoPayCheckBuy").click(function () {
if (totalClicks < 50) return false;
totalClicks -= 50;
totalMoneys += 50;
$("#total_moneys").text(totalMoneys);
$("#total_clicks").text(totalClicks);
});
});

Categories

Resources