Ik heb een html pagina met daarin een div genaamd "content".
Wanneer een pagina geladen wordt, wordt de inhoud daarvan d.m.v. een ajax script ingeladen (zie hieronder). Wanneer ik vervolgens met behulp van de functie selectItem() nieuwe content ophaal dan verschijnt na 10 minuten het oude content weer over het nieuwe.
Dit komt doordat er een timer zit op de de vorige ingeladen content. Hoe kan ik, wanneer ik nieuwe content wil inladen de timer van de huidige stoppen?
Met andere woorden: Ervoor zorgen dat er geen content over content geladen wordt?
Wanneer een pagina geladen wordt, wordt de inhoud daarvan d.m.v. een ajax script ingeladen (zie hieronder). Wanneer ik vervolgens met behulp van de functie selectItem() nieuwe content ophaal dan verschijnt na 10 minuten het oude content weer over het nieuwe.
Dit komt doordat er een timer zit op de de vorige ingeladen content. Hoe kan ik, wanneer ik nieuwe content wil inladen de timer van de huidige stoppen?
Met andere woorden: Ervoor zorgen dat er geen content over content geladen wordt?
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
| function getRequest(selectedDiv, URL) { var xmlHttp; try { // Firefox, Opera 8.0+, Safari xmlHttp = new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Your browser does not support AJAX!"); return false; } } } xmlHttp.onreadystatechange = function() { if(xmlHttp.readyState == 4) { result = xmlHttp.responseText; document.getElementById(selectedDiv).innerHTML = result; } } xmlHttp.open("GET",URL,true); xmlHttp.send(null); } var timer; function reGetRequest(selectedDiv, URL) { getRequest(selectedDiv, URL); clearTimeout(timer); timer = setTimeout("reGetRequest('"+selectedDiv+"', '"+URL+"');",300000); } function selectItem(target) { if (document.Locaties.Locaties.value == 'K13' | target == 'K13') { document.Locaties.Locaties.value = 'K13'; document.getElementById('content').innerHTML = '<br /><img src=\"images/loading.gif\" onload=\"reGetRequest(\'content\', \'mijnurl\');\" /><br /><br />Loading data...'; } else if (document.Locaties.Locaties.value == 'IJmond'| target == 'IJmond') { document.Locaties.Locaties.value = 'IJmond'; document.getElementById('content').innerHTML = '<br /><img src=\"images/loading.gif\" onload=\"reGetRequest(\'content\', \'mijnurl\');\" /><br /><br />Loading data...'; } else if (document.Locaties.Locaties.value == 'Maasmond' | target == 'Maasmond') { document.Locaties.Locaties.value = 'Maasmond'; document.getElementById('content').innerHTML = '<br /><img src=\"images/loading.gif\" onload=\"reGetRequest(\'content\', \'mijnurl\');\" /><br /><br />Loading data...'; } else if (document.Locaties.Locaties.value == 'Overzichtskaart') { document.Locaties.Locaties.value = 'Overzichtskaart'; document.getElementById('content').innerHTML = '<img src=\"images/map.jpg\" border=\"0\" />'; } } |
[ Voor 12% gewijzigd door DeepFreeze.NL op 20-06-2007 15:26 ]