|
|||
setInterval ausschalten!?
Hallo
ich lass eine DIV mittels einer setInterval(500ms) immer wieder neu laden. $('#main').load(document.URL + ' #reload'); dies ist nötig da aus einer Datenbank immer neue Werte geladen werden. Dann habe ich einige Links auf dieser Seite die über GET dann paar daten weitergeben und wiederrum in die DB schreiben. Diese Links lasse ich in einen iframe "unsichtbar" Mein Problem jetzt. ich kann die Links zwar klicken... aber wenn ich allerdings direkt bei denn 500ms klicke.. dann passiert da nichts.. muss dann schon ein 2tes oder sogar 3tes mal klicken bis da was passiert. wie kann ich das am geschicktesten umgehen? habe mir überlegt das ich beim :hover einen clearInterval(); mache, das Problem dabei wäre aber dass wenn ich mit der Maus auf dem link durch zufall stehen bleibe, die Seite nicht mehr nachlädt. |
Sponsored Links |
Sponsored Links |
|
|||
Na mehr code ist da nicht....
es gibt nur die diese Funktion welche beim Start ausgeführt wird. Code:
$('#main').load(document.URL + ' #reload'); HTML-Code:
<div id="main"> <div id="reload"> <a href="irgendeinlink">KLICK</a> </div> </div> manchmal schaffe ich es aber nciht meinen Link du drücken weil der den div dann schon neulädt. dh. ich muss dann nocheinmal klicken. Ich überschneide mich mit der zeit. Stelle ich es auf 1sek. oder sogar 2sek. dann ist die change dass ich der Link ausgeführt wird größer. |
|
|||
wie macht der nicht?
jaaa fehlt noch die HTML-Code:
var refreshIntervalId = setInterval(intervalFunction,500); Es ist eine Lampe die je nachdem was in der DB steht an oder aus ist. Wenn die nun An ist... kann ich mit dem Link diese wieder ausschalten... link.php?lampe=0 oder wenn die aus ist kann ich sie mit dem Link link.php?lampe=1 wieder einschalten.... ob der jetzt eine 1 oder 0 schicken muss das macht eine Funktion im JS... das ist kein Problem.... nach dem schalten wird innerhalb von 500ms die Lampe dann wieder AN/Aus geschaltet... JA er muss es aus der DB holen... weil die lampe auch anderweitig geschaltet werden kann. Mein Problem ist einfach nur der Link der wegen des Interval ab und zu nicht geklickt werden kann. |
|
||||
Zitat:
Deine Schilderungen sind auch keine Antwort auf meine Frage, warum tauscht du den Link alle 500 Millisekunden aus? |
|
|||
ohman....
ICH TAUSCHE IHN NICHT..... ich übergebe nur einen anderen Wert. Ich habe es oben erklärt.... aber hier nochmal.. ich schalte eine Lampe AN/AUS je nachdem wie der aktuelle Status ist.... und damit ich den aktuellen Status bekomme lese ich jede 500ms die DB aus. der Link hat damit nichts zu tun.... er liegt einfach nur in der <div> die reloadet wird. und durch den reload... kann ich den Link nicht immer betätigen...... |
|
||||
Zitat:
Das ganze Konzept ist sehr wackelig. Letztlich solltest du das Interval auf ein notwendiges Maß erhöhen und den Link nur als "switch" benutzen. Er ändert den Zustand auf dem Server und dort wird auch erst geschaut welchen Zustand die Lampe hat. Oder du nutzt einfach zwei Schalter, einen für AN und einen für AUS, egal welcher Zustand gerade die Lampe hat. Das Problem das du lösen musst ist ja, dass du hier eine abgekoppelte Veranwortung hast. Der Server weiß nicht welchen Zustand die Lampe hat, egal ob du 500ms oder 10ms Intervale zum Server schickst. Der HTTP Request - Response Zyklus dauert länger und währendessen kann der Zustand, soweit ich verstanden habe, geändert werden. D.h. du musst die Verantwortung über den Zustand auf dem Client völlig abkoppeln. Damit kannst du etwas entspannter (für den Server) arbeiten. Daneben ist vermutlich dein Code auch fehlerhaft, wenn du eine komplette HTML Seite in ein DIV lädst, dann ist das nicht gültig. Normalerweise macht ja bei sowas einen extra response für eine AJAX Anfrage. In deinem Fall reicht 0 oder 1 als Antwort (was auch den Server noch mal entlastet) und diese wertest du in einem AJAX request aus und stellst es auf der Seite dar. |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
css ein- und ausschalten | headgrowe | Javascript & Ajax | 3 | 04.09.2007 14:12 |
css ein- und ausschalten | headgrowe | CSS | 0 | 29.08.2007 17:35 |
Alles Ausschalten! | psycho_dmr | Offtopic | 2 | 01.02.2007 20:13 |
phpBB-Funktionen ausschalten | ArchEnemy | Offtopic | 3 | 28.09.2006 19:28 |
srcollbars seite ausschalten | Holger (HMR) | CSS | 6 | 08.12.2004 14:47 |