Question

Hé types i ont une formule du pourcentage de cals_in vs cals_out (de 200%)

i créé une échelle pour montrer la différence entre les valeurs en termes de pourcentage. Le problème est que je veux convertir la différence en termes de taille de pixels pour déplacer l'échelle vers le haut ou vers le bas

function setScalesToValue(fValue) {

   document.getElementById("cals_in").style.bottom = (183 + fValue) + "px";
   document.getElementById("cals_out").style.bottom = (183 -  fValue) + "px";

}

La position de l'échelle initiale est de 183, alors la comparaison est ensuite ajouté ou soustrait pour montrer les projections sur l'échelle. Il ne fonctionne pas trop bien et je cherche l'aide de personne d'utiliser le pourcentage de retour pour déplacer l'échelle

NB:. Le fValue ne peut pas être plus 20px

Toute orientation sera apprécié b.

Était-ce utile?

La solution

Attention: Je suis très fatigué, ce qui est très non testé, et je rarement mess avec javascript - donc j'espère que cela a du sens.

Le but est de déterminer la différence maximale qui poussera l'échelle jusqu'au bout. Quand vous obtenez la vraie différence, vous voyez ce que pour cent du maximum que vous avez. Ensuite, vous obtenez juste que pour cent des 20 pixels. Bien sûr, quoi que ce soit plus de 100% que vous venez juste à 100% de sorte que vous ne vont pas plus de 20 pixels. (J'espère que ce code fonctionne)

var difference;
var max_expected_difference;
var diff_percent;
var fValue;

diff_percent = difference/max_expected_difference;
diff_percent = Math.round(diff_percent*100)/100;

if (diff_percent>1) diff_percent = 1;
if (diff_percent

Dans le cas où ce n'est pas clair, vous allez ajouter au 183px dans tous les cas. fValue devrait être négatif si la différence est négatif.

Edit: On dirait que je mal compris la façon dont vous implémentez, mais l'idée de base continuera de fonctionner très bien pour vous. Honnêtement, si vous changez un maximum de calories est de 200% alors un raccourci vers votre votre fValue est Devide votre différence de 10% en et autour de la décimale. Ainsi, 148% serait 15px, 81% serait 8px, etc ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top