/ / Multiplie les valeurs des propriétés CSS avec jQuery en utilisant * = - jquery

Multipliez les valeurs de propriété CSS avec jQuery en utilisant * = - jquery

* = est un opérateur d'assignation javascript valide. Pourquoi ne puis-je pas l'utiliser pour animer des valeurs de propriété? Le code ci-dessous ne fonctionnera pas. Je ne souhaite que doubler la largeur et la hauteur.

$("div.box").animate({
"width" : "*=2",
"height" : "*=2",
}, "slow");

Réponses:

6 pour la réponse № 1

Cela ne fonctionne pas simplement parce que personne ne l’a encore implémenté. Si vous voulez le faire le mondejQuery un peu mieux), juste jetez un coup d’œil à la page "Contribut to jQuery"..

Pour résoudre votre problème pour le moment: vous devez faire le calcul vous-même - quelque chose comme ce qui suit (non testé, mais vous devriez avoir l’idée):

Pour un seul élément:

var element = $("#animate");
element .animate({
"width" : element.width()*2,
"height" : element.height()*2,
}, "slow");

Pour plusieurs éléments:

$(".animate").each(function(){
var element = $(this);
element .animate({
"width" : element.width()*2,
"height" : element.height()*2,
}, "slow");
});

1 pour la réponse № 2

Fondamentalement, parce que vous essayez de le faire passerune expression littérale, plutôt que les résultats d'une expression. jQuery n'a aucune manipulation en soi pour comprendre la différence. Et pourquoi devrait-il? jQuery ne devrait pas "avoir un interprète complet en javascript. C'est sérieux."

Le plus proche que vous allez obtenir est:

var divbox = $("div.box");
divbox.animate({
width: (divbox.width() * 2) + "px",
height: (divbox.height() * 2) + "px"
});