clearInterval
Dandy
- javascript
Hallo
ich habe einen Div-Bereich, den ich per setInterval breiter machen will. KLappt soweit auch ganz gut aber wenn der Interval stoppen soll sagt die Fehlerkonsole: can't convert to integer?! warum?!
Quelltext:
var x = 0;
function MenuKünstler() {
MenuKünstler = document.getElementById("MenuKünstler");
var resizeMenuKünstler = window.setInterval("resizeMenuKünstler()", 1);
}
function resizeMenuKünstler() {
MenuKünstler.style.width = x + "px";
x++;
if ( x == 250 )
window.clearInterval(resizeMenuKünstler);
}
Hi,
ich habe einen Div-Bereich, den ich per setInterval breiter machen will. KLappt soweit auch ganz gut aber wenn der Interval stoppen soll sagt die Fehlerkonsole: can't convert to integer?! warum?!
weil eine Funktion nichts ist, was einem window.clearInterval übergeben werden könnte.
function MenuKünstler() {
Auch wenn es technisch möglich sein sollte, ist es eigentlich niemals empfehlenswert, irgendwelche programmtechnisch relevanten Bezeichner aus etwas anderem als ASCII zu bedienen. Hier beispielsweise ...
MenuKünstler = document.getElementById("MenuKünstler");
... machst Du Dich von ungültigem HTML abhängig, was Quatsch ist. Wieso überschreibst Du eigentlich die Funktion mit einer Objektreferenz?
var resizeMenuKünstler = window.setInterval("resizeMenuKünstler()", 1);
Und wieso erzeugst Du eine Variable, die Du niemals benutzen kannst, weil Du sie Nanosekunden später sterben lässt?
function resizeMenuKünstler() {
MenuKünstler.style.width = x + "px";
Wenn Du diese Funktion zufällig mal ausführst, bevor Dein obiges MenuKünstler() aufgerufen wurde, gibt es einen JavaScript-Fehler.
if ( x == 250 )
Das wäre übrigens, wenn das Restkonzept stimmen würde, eine gute Viertelsekunde lang (vorausgesetzt, das System bietet genügend Ressourcen, sonst dauert's noch länger) hochgradige Belastung des Browsers, von der das menschliche Auge gerade mal ein Zehntel mitbekommt. Absicht?
Cheatah
Danke ich hab gar nicht gesehen, dass das die gleichen Namen sind ^^
MfG Dandy
Hallo Dandy,
Danke ich hab gar nicht gesehen, dass das die gleichen Namen sind ^^
Bei Variablen- und Funktionsnamen Umlaute zu verwenden, finde ich auch nicht so günstig. Ich wäre da vorsichtiger.
Gruß Gernot