Bonjour,

J'ai lâché la programmation JavaScript il y a 4 ou 5 ans et je ne reconnais plus mes petits avec jQuery que je découvre.

Je recherche à faire un script avec jquery.maphilight.js qui permet de sélectionner des régions anatomiques sur un schema de corps humain.
Ceci pour établir un devis pour des soins d'épilation laser. le cout variant en fonction des zones traitées. Le but étant de faire un utilitaire qui calcule tout seul et produise un devis en quelques clics.

Le script est testable ici (pas fini mais déjà bien opérationnel : http://www.cadic.com/facturex.html (Je n'ai pas intégré tout le code de calcul et seul la zone du dos fait les calculs.)

Dans la stratégie de programmation, j'ai défini des variables en debut de page html

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
var count=0;
// define the cost of the areas
var back = 100;
var neck = 60;
'count' étant le montant du devis. L'idée est que, dès qu'on sélectionne une zone du corps, la variable est incrémentée du prix de la zone. En sélectionnant plusieurs zones, le prix augmente. Je souhaite aussi faire, à savoir, si on désélectionne la zone, alors le 'count' baisse de la même manière.

J'ai intégré le code pour la zone du dos (le reste n'est pas encore implémenté)
sous la forme:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
$('#back,#backlink2').click(function(e) {
      e.preventDefault();
      var data = $('#back').mouseout().data('maphilight') || { };
      data.alwaysOn = !data.alwaysOn;
      $('#back').data('maphilight', data).trigger('alwaysOn.maphilight');
      count = count + back;
      $("#total").html(count);		
});

Ça marche bien quand je sélectionne et clique sur la zone : 'count' réagit et intègre le tarif de la zone en updatant la page via un <div>.

Je n'arrive pas modifier le code pour avoir l'opération inverse : c'est-à-dire que je retire le prix de la zone quand je désélectionne la zone en cliquant dessus.

En fait, je ne sais pas où mettre le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
count = count - back;
$("#total").html(count);

Qui peut m'aider ? Et me guider dans la stratégie ?