Als erstes mal das schon vorhandene Script ...
Im Head:
Im Body:
'myCntUpDown.setTimer(1000);'
Hier sollte man bestimmen können nach wieviel Sekunden (Millisekunden) das Zahl im Feld erhöht bzw. verringert wird.
'myCntUpDown.setMinimum(0);'
Hier kann ein Minimum bestimmt werden was nicht unterschritten wird (werden darf), sei es durch direkte Eingabe oder durch den Button für's Verringern der Anzahl.
'myCntUpDown.setMaximum(200);'
Hier kann ein Maximum bestimmen was nicht überschritten wird (werden darf). Sei es durch direkte Eingabe oder durch den Button für's Vergrößern der Anzahl.
'myCntUpDown.setValue(11);'
Dieser Wert wird beim Initialisieren des Ganzen voreingetragen, sozusagen der schon vorhandene Value des Feldes (wenn existent).
Ziel
Angedacht ist es die ID's eines Inputfeldes und zweier Buttons (Up & Down) an das Script zu übergeben.
Bei 'onMouseDown' auf die Buttons soll jeweils die Anzahl erhöht bzw. verringert werden die in dem Feld steht, wobei dann natürlich der jeweilige Maxi- & Miniumwert nicht über- oder unterschritten werden kann (darf). So lange wie die Maus 'onMouseDown' ist soll das Ganze zählen. Bei 'onMouseUp' sollte der Vorgang dann dementsprechend gestoppt werden.
Die Geschwindigkeit des Hoch- bzw. Runterzählens sollte eigentlich anhand des Parameters 'setTimer(...)' einstellbar sein.
Beim Initialiseren des Scriptes sollte dann anhand der übergebenen Button-Ids die entsprechende Aktion per 'attachEvent' usw. an die Buttons im Dokument anhängt werden.
Ich hatte eine Funktion mit eingebaut die eigentlich genau das 'attachEvent' erledigen sollte, aber die wollte vorn und hinten nicht, deswegen habe ich sie an dieser Stelle erst einmal rausgenommen um nicht Eure Vorschläge bzw. Hinweise zu beeinflussen .
Das Problem,
vor dem ich stehe ist, das ich momentan eine komplette Denkblockade habe und absolut nicht weiterkomme bzw. weis.
Please help me
Im Head:
Code:
function CL_CntUpDown(oInput,oBtnUp,oBtnDown){
this._oInput = document.getElementById(oInput);
this._oBtnUp = document.getElementById(oBtnUp);
this._oBtnDown = document.getElementById(oBtnDown);
this._timer = 100;
this._cntMin = 0;
this._cntMax = 0;
}
CL_CntUpDown.prototype.setTimer = function(fMs){
this._timer = fMs;
};
CL_CntUpDown.prototype.setMinimum = function(fMin){
this._cntMin = ( fMin>=0 )?fMin:0;
this._oInput.value = this.getMinimum();
};
CL_CntUpDown.prototype.setMaximum = function(fMax){
this._cntMax = ( fMax>=0 )?fMax:0;
};
CL_CntUpDown.prototype.setValue = function(fVal){
this._oInput.value = this.chkValue(fVal);
};
CL_CntUpDown.prototype.getTimer = function(){
return this._timer;
};
CL_CntUpDown.prototype.getMinimum = function(){
return this._cntMin;
};
CL_CntUpDown.prototype.getMaximum = function(){
return this._cntMax;
};
CL_CntUpDown.prototype.getValue = function(){
return this._oInput.value;
};
CL_CntUpDown.prototype.chkValue = function(fVal){
if( fVal>0 ){
if( fVal<this.getMinimum() ){
return this.getMinimum();
}else if( this.getMaximum()>0 && fVal>this.getMaximum() ){
return this.getMaximum();
}else{
return fVal;
}
}else{
return 0;
}
};
CL_CntUpDown.prototype.cntStop = function(){
alert('Stop');
},
CL_CntUpDown.prototype.cntStartUp = function(){
var tmpVal = this.getValue();
var tmpTimer = this._timer;
var tmpState = this._state;
var newVal = CL_ValUp(tmpVal, tmpTimer, tmpState );
this._oInput.value = newVal;
},
CL_CntUpDown.prototype.cntStartDown = function(){
alert('Start Down');
}
Code:
<input style="width: 100px; height: 19px; font-size: 9px;" name="fld_cnt" id="fld_cnt" /></td>
<img src="sy_plus.gif" width="13" height="11" border="0" name="btn_cntPlus" id="btn_cntPlus" alt="erhöhen" title="" />
<img src="sy_minus.gif" width="13" height="10" border="0" name="btn_cntMinus" id="btn_cntMinus" alt="verringern" title="" />
<script language="JavaScript" type="text/javascript">
<!--
var myCntUpDown = new CL_CntUpDown('fld_cnt','btn_cntPlus','btn_cntMinus');
myCntUpDown.setTimer(1000);
myCntUpDown.setMinimum(0);
myCntUpDown.setMaximum(200);
myCntUpDown.setValue(11);
//-->
</script>
'myCntUpDown.setTimer(1000);'
Hier sollte man bestimmen können nach wieviel Sekunden (Millisekunden) das Zahl im Feld erhöht bzw. verringert wird.
'myCntUpDown.setMinimum(0);'
Hier kann ein Minimum bestimmt werden was nicht unterschritten wird (werden darf), sei es durch direkte Eingabe oder durch den Button für's Verringern der Anzahl.
'myCntUpDown.setMaximum(200);'
Hier kann ein Maximum bestimmen was nicht überschritten wird (werden darf). Sei es durch direkte Eingabe oder durch den Button für's Vergrößern der Anzahl.
'myCntUpDown.setValue(11);'
Dieser Wert wird beim Initialisieren des Ganzen voreingetragen, sozusagen der schon vorhandene Value des Feldes (wenn existent).
Ziel
Angedacht ist es die ID's eines Inputfeldes und zweier Buttons (Up & Down) an das Script zu übergeben.
Bei 'onMouseDown' auf die Buttons soll jeweils die Anzahl erhöht bzw. verringert werden die in dem Feld steht, wobei dann natürlich der jeweilige Maxi- & Miniumwert nicht über- oder unterschritten werden kann (darf). So lange wie die Maus 'onMouseDown' ist soll das Ganze zählen. Bei 'onMouseUp' sollte der Vorgang dann dementsprechend gestoppt werden.
Die Geschwindigkeit des Hoch- bzw. Runterzählens sollte eigentlich anhand des Parameters 'setTimer(...)' einstellbar sein.
Beim Initialiseren des Scriptes sollte dann anhand der übergebenen Button-Ids die entsprechende Aktion per 'attachEvent' usw. an die Buttons im Dokument anhängt werden.
Ich hatte eine Funktion mit eingebaut die eigentlich genau das 'attachEvent' erledigen sollte, aber die wollte vorn und hinten nicht, deswegen habe ich sie an dieser Stelle erst einmal rausgenommen um nicht Eure Vorschläge bzw. Hinweise zu beeinflussen .
Das Problem,
vor dem ich stehe ist, das ich momentan eine komplette Denkblockade habe und absolut nicht weiterkomme bzw. weis.
Please help me