Der Stand ist der - Objekte werden zwar erzeugt, aber die scheinen sich alle doch immer auf das letzte erzeugte zu verknüpfen - bewege ich was am ersten slider, spricht es den letzten erzeugten an: (frame ist einfach nur ein DIV)
var s1=new slideRelastic("slideU");
document.getElementbyID("frame").appendChild(s1.getUI());
var s2=new slideRelastic("slideV");
document.getElementbyID("frame").appendChild(s2.getUI());
var s3=new slideRsolid("slideDN");
document.getElementbyID("frame").appendChild(s3.getUI());
wo habe ich den Denkfehler?
function slideR(id){
this.currentValue;
this.lastValue;
this.minValue;
this.maxValue;
this.slider=document.createElement("input");
this.slider.type="range";
this.ID=id;
this.slider.id=id;
this.indicator;
}
slideR.prototype.setValue=function(value){
this.lastValue=this.currentValue;
this.currentValue=value;
this.slider.value=value;
};
slideR.prototype.setIndicator=function(o){
this.indicator=o;
}
slideR.prototype.getUI=function(sClass){
this.slider.className=sClass || "slider";
return this.slider;
}
//Springt zurück auf 0, skaliert zwischen -100 und 100
function slideRelastic(id){
slideR.call(this, id);
_this=this;
this.slider.min=-100;
this.slider.max=100;
this.slider.addEventListener("change", function(e){
_this.finalInput(e.target);
});
this.slider.addEventListener("input", function(e){
_this.liveInput(e.target);
},false);
}
slideRelastic.prototype =Object.create(slideR.prototype);
slideRelastic.prototype.finalInput=function(o){
this.setValue(o.value);
o.value=0;
console.log("e#"+this.currentValue);
}
slideRelastic.prototype.liveInput=function(o){
}
//behält den wert, min-max variabel
function slideRsolid(id, min, max){
slideR.call(this, id);
_this=this;
this.slider.min=min;
this.slider.max=max;
this.slider.addEventListener("change", function(e){
_this.finalInput(e.target);
});
this.slider.addEventListener("input", function(e){
_this.liveInput(e.target);
},false);
}
slideRsolid.prototype=Object.create(slideR.prototype);
slideRsolid.prototype.finalInput=function(o){
this.setValue(o.value);
console.log("s#"+this.currentValue);
}
slideRsolid.prototype.liveInput=function(o){
}