No skusim to vysvetlit troska hlbsie.
Mam ID, ktore vytvara divy a to postupne rastie. No a po zavolani funkcie mnohouholnik() zbieram X a Y suradnice kliknutia. Problem je, ze premenne Xpoints a Ypoints sa zaplnia len raz a teda, ked dostanem vysledok funkcie a znova ju zavolam, tieto premenne sa mi opatovne nezaplnia. Preto som rozmyslal nad riesenim, ze by som k nazvu premennych Xpoints a Ypoints pridal aj ID, cim by som ich jednoznacne odlisil.
No neviem. Co som skusal, nepodarilo sa mi aplikovat ani jednen z vasich kodov.
Pre lepsie porozumenie prikladam kod:
Kód:
function mnohouholnik() {
var id = $('#count').html();
var newid = parseInt(id)+1;
var Xpoints = new Array();
var Ypoints = new Array();
$("#mnohouholnik").html("<a href='javascript:void(0)' title='Uzavrieť mnohouholník' id='skonci'>Uzavrieť mnohouholník</a>");
$("#glassbox").append("<div id='narysna'></div>");
$("#narysna").click(function(e){
var x = e.pageX - this.offsetLeft + 1;
var y = e.pageY - this.offsetTop + 1 ;
Xpoints.push(x);
Ypoints.push(y);
});
$("#skonci").click(function(){
$("#narysna").remove();
$("#mnohouholnik").html("<a href='javascript:void(0)' title='Pridať mnohouholník' onclick='ceruzka()'>Pridať mnohouholník</a>");
if(Xpoints.length>0){
var cssObj = {'position':'absolute','width':738, 'height':257,};
$("#glassbox").append("<div id='"+newid+"'></div>");
$("#count").html(newid); //pridat o jedno viac k celkovym akciam
$("#vrstvy").append("<tr id='tr"+newid+"' style='background:#ffffff'><td>"+newid+"</td><td>mnohouholník</td><td><a href='javascript:void(0)' onclick='vymaz("+newid+")'>vymazať</a></td></tr>");
$("#"+newid).css(cssObj)
.drawPolygon(Xpoints, Ypoints)
.mousemove(function(){ $("#tr"+this.id).css("background","#ff0000");})
.mouseout(function(){$("#tr"+this.id).css("background","#ffffff");});
}
});
};
(pouzivam kniznicu jquery a plugin na kreslenie ; ak mate nejake lepsie vyzerajuce riesenia, rad sa priucim)
Vdaka