Vous devez faire une version de l'image principale (même avec, hauteur) pour chaque zone de carte/partie avec la zone/partie colorée comme tu souhaites.
Lorsqu'une zone/pièce est cliquée, il vous suffit de modifier le src de l'image pour la version zone/partie correspondante de l'image.
Merci pour le lien, aidé beaucoup! Vous aurez besoin de mettre l'ensemble de l'outil de coloriage à l'intérieur d'un emballage avec position: relative
. De cette façon, toutes les images ajoutées avec position: absolute
seront positionnées en fonction du coin supérieur gauche de l'enveloppe au lieu du corps.
Comme votre corps avait un rembourrage de 8 px tout autour, il en est de même pour l'emballage. Sinon, les positions dans votre tableau seront de.
La version modifiée de votre page ressemble à ceci:
<html>
<head>
<script type="text/javascript" src="jquery-1.11.1.min.js"></script>
<style>
#colorringTool {
position: relative;
padding: 8px;
}
#overlay
{
position:absolute;
z-index:1000;
}
</style>
</head>
<body>
<script type="text/javascript">
datapoints = Array();
datapoints[1]={
'top': '103',
'left': '16',
'color': 'empty'
}
datapoints[2]={
'top': '149',
'left': '20',
'color': 'empty'
}
datapoints[3]={
'top': '131',
'left': '42',
'color': 'empty'
}
datapoints[4]={
'top': '139',
'left': '21',
'color': 'empty'
}
datapoints[5]={
'top': '74',
'left': '64',
'color': 'empty'
}
datapoints[6]={
'top': '115',
'left': '72',
'color': 'empty'
}
datapoints[7]={
'top': '100',
'left': '99',
'color': 'empty'
}
datapoints[8]={
'top': '112',
'left': '79',
'color': 'empty'
}
datapoints[9]={
'top': '50',
'left': '130',
'color': 'empty'
}
datapoints[10]={
'top': '88',
'left': '139',
'color': 'empty'
}
datapoints[11]={
'top': '80',
'left': '169',
'color': 'empty'
}
datapoints[12]={
'top': '96',
'left': '145',
'color': 'empty'
}
datapoints[13]={
'top': '44',
'left': '208',
'color': 'empty'
}
datapoints[14]={
'top': '74',
'left': '213',
'color': 'empty'
}
datapoints[15]={
'top': '69',
'left': '251',
'color': 'empty'
}
datapoints[16]={
'top': '89',
'left': '214',
'color': 'empty'
}
datapoints[17]={
'top': '39',
'left': '292',
'color': 'empty'
}
datapoints[18]={
'top': '68',
'left': '292',
'color': 'empty'
}
datapoints[19]={
'top': '64',
'left': '338',
'color': 'empty'
}
datapoints[20]={
'top': '68',
'left': '369',
'color': 'empty'
}
datapoints[21]={
'top': '87',
'left': '292',
'color': 'empty'
}
datapoints[22]={
'top': '44',
'left': '384',
'color': 'empty'
}
datapoints[23]={
'top': '69',
'left': '405',
'color': 'empty'
}
datapoints[24]={
'top': '74',
'left': '448',
'color': 'empty'
}
datapoints[25]={
'top': '89',
'left': '361',
'color': 'empty'
}
datapoints[26]={
'top': '50',
'left': '464',
'color': 'empty'
}
datapoints[27]={
'top': '80',
'left': '482',
'color': 'empty'
}
datapoints[28]={
'top': '88',
'left': '518',
'color': 'empty'
}
datapoints[29]={
'top': '96',
'left': '418',
'color': 'empty'
}
datapoints[30]={
'top': '74',
'left': '538',
'color': 'empty'
}
datapoints[31]={
'top': '100',
'left': '553',
'color': 'empty'
}
datapoints[32]={
'top': '115',
'left': '584',
'color': 'empty'
}
datapoints[33]={
'top': '112',
'left': '475',
'color': 'empty'
}
datapoints[34]={
'top': '102',
'left': '602',
'color': 'empty'
}
datapoints[35]={
'top': '130',
'left': '613',
'color': 'empty'
}
datapoints[36]={
'top': '148',
'left': '638',
'color': 'empty'
}
datapoints[37]={
'top': '139',
'left': '533',
'color': 'empty'
}
datapoints[38]={
'top': '179',
'left': '596',
'color': 'empty'
}
datapoints[39]={
'top': '179',
'left': '28',
'color': 'empty'
}
datapoints[40]={
'top': '252',
'left': '308',
'color': 'empty'
}
datapoints[41]={
'top': '252',
'left': '308',
'color': 'empty'
}
</script>
<script type="text/javascript">
function validate(theForm)
{
var data=Array();
document.getElementById('chuteform');
for(i=1;i<=41;i++)
{
data.push(datapoints[i].color);
}
data.join(',');
theForm.fld_chutedata.value=data;
}
colour='red';
$(document).ready(function(){
$('.region').click(function(e){
e.preventDefault();
areaid=$(this).attr('title');
if (datapoints[areaid].color=='empty')
{
$('#chute').append('<img src="'+colour+'/'+areaid+'.png" style="position: absolute; top: ' + datapoints[ areaid ].top + 'px; left: ' + datapoints[ areaid ].left + 'px; z-index: 2" class="r'+areaid+'" >');
datapoints[areaid].color=colour;
}else if (datapoints[areaid].color!='empty')
{
$('.r'+areaid).replaceWith('<img src="'+colour+'/'+areaid+'.png" style="position: absolute; top: ' + datapoints[ areaid ].top + 'px; left: ' + datapoints[ areaid ].left + 'px; z-index: 2" class="r'+areaid+'" >');
datapoints[areaid].color=colour;
}
});
$('.changecolour').click(function(e)
{
e.preventDefault();
colour=$(this).attr('title');
$('.changecolour').removeClass('active');
$(this).addClass('active');
});
$('#clear').click(function(e){
e.preventDefault();
for(i=1; i<=41; i++)
{
datapoints[i].color='empty';
$('.r'+i).remove();
}
});
});
</script>
<div class="colouringTool">
<map id="chutemap" name="chutemap">
<area id="a1" class="region" shape="poly" alt="" title="1" coords="14,141,22,130,28,122,39,135,44,129,35,116,44,109,54,105,66,120,76,115,66,102,60,91,60,83,61,80,49,81,40,85,32,91,27,97,19,104,14,113,11,123,11,130,12,134,12,138" href="" target="" />
<area id="a2" class="region" shape="poly" alt="" title="2" coords="14,142,21,153,33,143,39,135,28,122,22,130" href="" target="" />
<area id="a3" class="region" shape="poly" alt="" title="3" coords="35,116,44,130,65,120,53,105,44,109" href="" target="" />
<area id="a4" class="region" shape="poly" alt="" title="4" coords="21,153,82,188,94,185,111,175,123,173,140,166,143,164,75,115,44,129,39,134,34,142" href="" target="" />
<area id="a5" class="region" shape="poly" alt="" title="5" coords="67,101,79,90,81,90,91,104,101,97,94,83,104,77,113,75,124,92,140,88,133,72,129,62,128,58,128,55,129,53,129,50,113,51,102,54,88,60,78,64,69,70,62,78,59,84,60,89,61,93" href="" target=""/>
<area id="a6" class="region" shape="poly" alt="" title="6" coords="66,102,76,115,91,103,81,89,78,91" href="" target="" />
<area id="a7" class="region" shape="poly" alt="" title="7" coords="94,83,101,96,124,91,114,75,104,78" href="" target="" />
<area id="a8" class="region" shape="poly" alt="" title="8" coords="75,115,143,164,160,161,173,154,186,155,201,148,140,88,101,96" href="" target="" />
<area id="a9" class="region" shape="poly" alt="" title="9" coords="134,72,149,63,159,80,168,75,164,58,176,55,187,55,195,75,210,73,204,49,204,37,207,33,190,29,181,30,164,34,149,37,136,44,129,50,128,57,129,63" href="" target="" />
<area id="a10" class="region" shape="poly" alt="" title="10" coords="134,72,140,88,160,80,149,63" href="" target="" />
<area id="a11" class="region" shape="poly" alt="" title="11" coords="165,57,167,75,195,75,187,55,176,54" href="" target="" />
<area id="a12" class="region" shape="poly" alt="" title="12" coords="140,88,201,148,213,149,230,143,244,143,258,138,210,74,195,75,167,75,155,82" href="" target="" />
<area id="a13" class="region" shape="poly" alt="" title="13" coords="206,54,222,49,231,69,246,64,245,45,267,44,273,66,288,67,287,45,287,32,290,25,278,20,268,19,255,18,246,20,232,21,218,26,206,33,205,42,205,46" href="" target="" />
<area id="a14" class="region" shape="poly" alt="" title="14" coords="207,54,210,74,230,68,223,49" href="" target="" />
<area id="a15" class="region" shape="poly" alt="" title="15" coords="245,45,246,65,273,67,267,43" href="" target="" />
<area id="a16" class="region" shape="poly" alt="" title="16" coords="210,73,258,138,270,140,287,136,301,137,315,135,288,68,246,65" href="" target="" />
<area id="a17" class="region" shape="poly" alt="" title="17" coords="287,45,302,43,308,65,332,63,332,39,339,39,339,62,364,65,369,42,384,46,385,33,382,25,369,18,349,14,321,13,309,15,297,20,290,25,287,32" href="" target="" />
<area id="a18" class="region" shape="poly" alt="" title="18" coords="287,46,288,68,308,66,303,43" href="" target="" />
<area id="a19" class="region" shape="poly" alt="" title="19" coords="332,39,333,61,338,62,339,39" href="" target="" />
<area id="a20" class="region" shape="poly" alt="" title="20" coords="369,42,363,65,384,68,385,46" href="" target="" />
<area id="a21" class="region" shape="poly" alt="" title="21" coords="288,67,315,134,321,137,330,137,336,134,341,136,351,137,356,135,384,67,335,62" href="" target="" />
<area id="a22" class="region" shape="poly" alt="" title="22" coords="382,25,385,34,383,67,398,67,405,44,427,45,425,64,441,68,449,49,465,55,467,48,467,37,465,32,454,26,439,20,426,20,414,18,401,18,392,20" href="" target="" />
<area id="a23" class="region" shape="poly" alt="" title="23" coords="405,44,398,67,426,65,427,44" href="" target="" />
<area id="a24" class="region" shape="poly" alt="" title="24" coords="448,49,440,68,461,73,465,55" href="" target="" />
<area id="a25" class="region" shape="poly" alt="" title="25" coords="383,67,356,134,365,137,376,137,384,135,391,139,405,140,414,138,461,73,426,65" href="" target="" />
<area id="a26" class="region" shape="poly" alt="" title="26" coords="465,33,467,38,466,50,464,59,461,73,476,75,485,55,498,55,507,58,504,76,513,80,522,64,538,73,544,58,543,50,532,42,521,36,507,34,492,31,483,30" href="" target="" />
<area id="a27" class="region" shape="poly" alt="" title="27" coords="485,54,476,75,504,76,507,57,495,55" href="" target="" />
<area id="a28" class="region" shape="poly" alt="" title="28" coords="522,64,512,79,532,88,538,72" href="" target="" />
<area id="a29" class="region" shape="poly" alt="" title="29" coords="461,74,413,138,429,143,442,143,459,149,471,148,531,88,503,76" href="" target="" />
<area id="a30" class="region" shape="poly" alt="" title="30" coords="543,51,544,59,538,73,532,88,547,91,558,75,570,79,578,82,571,96,580,104,590,90,593,91,605,102,612,90,612,82,603,71,593,63,582,59,568,53,557,51" href="" target="" />
<area id="a31" class="region" shape="poly" alt="" title="31" coords="558,76,547,91,571,97,577,83,568,78" href="" target="" />
<area id="a32" class="region" shape="poly" alt="" title="32" coords="590,90,580,103,597,115,605,102,594,92" href="" target="" />
<area id="a33" class="region" shape="poly" alt="" title="33" coords="531,88,570,97,596,115,528,164,514,162,504,158,499,155,485,155,470,148" href="" target="" />
<area id="a34" class="region" shape="poly" alt="" title="34" coords="611,81,612,90,596,115,606,120,617,105,629,111,636,116,628,130,632,135,643,122,650,130,657,142,659,137,661,129,659,117,655,109,649,101,644,97,637,89,627,83,620,81" href="" target="" />
<area id="a35" class="region" shape="poly" alt="" title="35" coords="618,106,606,120,628,130,636,116,627,109" href="" target="" />
<area id="a36" class="region" shape="poly" alt="" title="36" coords="643,123,632,135,650,153,657,143,651,132" href="" target="" />
<area id="a37" class="region" shape="poly" alt="" title="37" coords="590,187,650,152,644,148,635,138,627,129,596,115,528,164,539,170,552,175,560,175,569,181,578,185" href="" target="" />
<area id="a38" class="region" shape="poly" alt="" title="38" coords="590,187,649,154,620,193" href="" target="" />
<area id="a39" class="region" shape="poly" alt="" title="39" coords="52,192,81,187,22,153" href="" target="" />
<area id="a40" class="region" shape="rect" alt="" title="40" coords="308,234,318,271" href="" target="" />
<area id="a40" class="region" shape="rect" alt="" title="40" coords="325,235,346,272" href="" target="" />
<area id="a40" class="region" shape="rect" alt="" title="40" coords="353,235,363,272" href="" target="" />
<area id="a41" class="region" shape="rect" alt="" title="41" coords="319,235,324,272" href="" target="" />
<area id="a41" class="region" shape="rect" alt="" title="41" coords="347,235,352,272" href="" target="" />
</map>
<div id="colours">
<map id="colormap" name="colormap">
<area class="changecolour" shape="rect" alt="" title="blackberry" coords="0,0,20,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="tangerine" coords="21,0,41,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="limegreen" coords="42,0,62,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="lightblue" coords="63,0,83,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="jade" coords="84,0,104,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="red" coords="105,0,125,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="silver" coords="126,0,146,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="turquoise" coords="147,0,167,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="magenta" coords="168,0,188,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="lemon" coords="189,0,209,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="neonpink" coords="210,0,230,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="yellow" coords="231,0,251,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="kellygreen" coords="252,0,272,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="royalblue" coords="273,0,293,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="gold" coords="294,0,314,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="white" coords="315,0,335,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="black" coords="336,0,356,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="watermelon" coords="357,0,377,20" href="" target="" />
<area class="changecolour" shape="rect" alt="" title="navyblue" coords="378,0,398,20" href="" target="" />
</map>
</div>
<div id="colormappic">
<img src="colors.png" usemap="#colormap"/>
</div>
<div id="chute">
<img src="base-halfsize.png" id="overlay" usemap="#chutemap" />
</div>
<div style="position:absolute;left:319;top:350">
<a href="#" id="clear">
<button type="button">Clear</button>
</a>
</div>
<div style="position:absolute; left:100; top:450;">
<form action="make.php" method="post" id="chuteform" onsubmit="return validate(this)">
<input type="hidden" name="fld_chutedata" id="fld_chutedata" />
Name: <input type="text" name="theirname">
Email: <input type="text" name="email">
<input type="submit">
</form>
</div>
</div>
</body>
</html>
C'est un peu ce que je faisais. Le mien a des images individuelles pour chaque couleur qui s'alignent sur l'image de base, mais tout cela est foiré quand je tente de le mettre au centre d'une page. L'outil de coloration est ici: http://www.segodevelopment.com/custom/custom.html – Hunter
Mis à jour ma réponse avec la solution. – Niklas
Merci beaucoup! Je pensais que quelque chose comme ça devrait être fait pour que ça marche mais je n'avais absolument aucune idée de comment y arriver. Très nouveau pour ce genre de choses, merci encore! – Hunter