Bereiche
News
Rewind
Tipps & Berichte
Forum
Galerie
Journals
Events
Umfragen
Themenwoche
Kleinanzeigen
Interaktiv
Anmelden
Registrierung
Zu allen empfangenen Nachrichten
Suche...
Zur erweiterten Suche
Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum
>
Entwickler
>
javascript pause
javascript pause
flowgrow
16.01.09
18:46
hallihallo leute
ich hab da ein problem mit javascript und zwar weiß ich nicht wie man eine pause einfügt.
nach einer kurzen google suche hat sich dann schnell herausgestellt, dass es sowas auch nicht so wirklich gibt, sondern nur setTimeout()... leider bin ich damit als relativer js neuling überfordert.
sehts auch bitte einfach selbst an - hier is der code:
function slide(dir){
var margin = new Array();
var obj = document.getElementById("menu-table");
var direction = new Array("right", "left");
if (dir == "right") {
margin[0] = -800;
margin[1] = -860;
var m = -1;
var change = direction[1];
} else if (dir == "left") {
margin[0] = -60;
margin[1] = 0;
var m = 1;
var change = direction[0];
}
while(parseInt(obj.style.marginLeft) != margin[0]) {
alert("1");
slideFirst(m);
}
while(parseInt(obj.style.marginLeft) != margin[1]) {
alert("2");
slideSecond(m);
}
document.getElementById(dir + "-a").href = "#";
document.getElementById(dir).className = document.getElementById(dir).className + " inactive";
document.getElementById(change + "-a").href = "javascript:slide('" + change + "')";
document.getElementById(change).className = "pfeil " + change;
}
// schneller start
function slideFirst(m) {
var obj = document.getElementById("menu-table");
obj.style.marginLeft = parseInt(obj.style.marginLeft) + 100*m + "px";
}
// sanftes ende
function slideSecond(m) {
var obj = document.getElementById("menu-table");
obj.style.marginLeft = parseInt(obj.style.marginLeft) + 5*m + "px";
}
die URL dazu:
wie ihr vielleicht merkt, ist jetzt statt einer pause ein alert, den man erst mit ok bestätigen muss, damit es weitergeht.. das ist natürlich nicht gewünscht ich will ja eine "smoothe" bewegung erzeugen
kann mir also bitte irgendwer sagen wie ich das so umändern kann, dass es mit setTimeout() funktioniert??
danke im voraus
Flo
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
Kommentare
flowgrow
16.01.09
19:21
schade, dass mir hier niemand helfen kann
ich hab da nämlich auch ein problem mit der darstellung im IE
ich hoffe es findet sich wer
„Chuck Norris hat mehr Kreditkarten als Max Mustermann!“
Hilfreich?
0
BenderB
16.01.09
19:50
Eigentlich wäre
setTimeout('slideFirst', 2000, m);
die richtige Funktion, allerdings funktioniert es in allen Browsern, außer dem IE (ohne Worte...)
Du wirst wohl um globale Variablen (böses Pfui) nicht drumrum kommen. Für die gedachte Anwendung solltest du dir mal Scriptaculous ansehen [url]script.aculo.us[/url], da kannst du sowas mit sehr wenig Aufwand realisieren.
Hilfreich?
0
Kommentieren
Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.