Mootools 1.2 onrequest
Ben nu een twee dagen bezig om onrequest goed werkend te krijgen.
Doel: 4 div elementen vullen doormiddel van een request. De elementen worden 1 voor 1 van content voorzien en tijdens het laden(1 voor 1) van een element wordt aangegeven (Loading.gif) dat hij aan het laden is.
Probleem: pagina wordt geladen (HTML). Pas als alle requests zijn geladen in het geheugen wordt het naar het scherm gestuurd. Probleem is dus dat pagina aantal sec wit blijft tot dat het scherm in 1 x gevuld word. Wil juist dat er weergegeven wordt wat er op het moment geladen wordt. status per element.
De background-color wordt dus niet weer gegeven, als ik een alert(); box plaats binnen de functie onrequest werkt dat wel. Dan moet ik 4x op oké klikken element voor element.
HTML:
<div id="pg1_api" class="dgCollection" url="{$URLLink}/page1/"></div>
<div id="pg2_api" class="dgCollection" url="{$URLLink}/page2/"></div>
<div id="pg3_api" class="dgCollection" url="{$URLLink}/page3/"></div>
<div id="pg4_api" class="dgCollection" url="{$URLLink}/page4/"></div>
Javascript:
window.addEvent('domready', function() {
loadAPIs();
});
//Ajax request loading APIs
function loadAPIs() {
var load_api = $(document.body).getElements('[id$=_api]');
load_api.each(function(item) {
var apiloadid = item.getProperty('id'); //get waarde class
//default request
new Request.HTML({
url:item.get('url'),
method: 'get',
data: { 'do' : '1' },
onRequest: function() { $(apiloadid).setStyles({'background-
color': 'orange'}) },
onFailure: function() { $(apiloadid).setStyles({'background-
color': 'blue'}) },
update: $(apiloadid)
}).send();
});
}
// EIND Ajax request loading APIs
Achtergrond: html pagina's worden doormiddel van smarty geladen.
Heb gezocht of het iets met de template parser te maken heeft, zonder smarty blijft het probleem ook.
Zelf denk ik dat het iets met de afhandeling van "load_api.each(" te maken heeft of met "var load_api = $(document.body).getElements('[id$=_api]');"
maar hoe :S.
Heeft iemand een idee of tip hoe ik dit werkend zou kunnen krijgen?
Alvast mijn dank!!!
Doel: 4 div elementen vullen doormiddel van een request. De elementen worden 1 voor 1 van content voorzien en tijdens het laden(1 voor 1) van een element wordt aangegeven (Loading.gif) dat hij aan het laden is.
Probleem: pagina wordt geladen (HTML). Pas als alle requests zijn geladen in het geheugen wordt het naar het scherm gestuurd. Probleem is dus dat pagina aantal sec wit blijft tot dat het scherm in 1 x gevuld word. Wil juist dat er weergegeven wordt wat er op het moment geladen wordt. status per element.
De background-color wordt dus niet weer gegeven, als ik een alert(); box plaats binnen de functie onrequest werkt dat wel. Dan moet ik 4x op oké klikken element voor element.
HTML:
Code (php)
1
2
3
4
5
2
3
4
5
<div id="pg1_api" class="dgCollection" url="{$URLLink}/page1/"></div>
<div id="pg2_api" class="dgCollection" url="{$URLLink}/page2/"></div>
<div id="pg3_api" class="dgCollection" url="{$URLLink}/page3/"></div>
<div id="pg4_api" class="dgCollection" url="{$URLLink}/page4/"></div>
Javascript:
Code (php)
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
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
window.addEvent('domready', function() {
loadAPIs();
});
//Ajax request loading APIs
function loadAPIs() {
var load_api = $(document.body).getElements('[id$=_api]');
load_api.each(function(item) {
var apiloadid = item.getProperty('id'); //get waarde class
//default request
new Request.HTML({
url:item.get('url'),
method: 'get',
data: { 'do' : '1' },
onRequest: function() { $(apiloadid).setStyles({'background-
color': 'orange'}) },
onFailure: function() { $(apiloadid).setStyles({'background-
color': 'blue'}) },
update: $(apiloadid)
}).send();
});
}
// EIND Ajax request loading APIs
Achtergrond: html pagina's worden doormiddel van smarty geladen.
Heb gezocht of het iets met de template parser te maken heeft, zonder smarty blijft het probleem ook.
Zelf denk ik dat het iets met de afhandeling van "load_api.each(" te maken heeft of met "var load_api = $(document.body).getElements('[id$=_api]');"
maar hoe :S.
Heeft iemand een idee of tip hoe ik dit werkend zou kunnen krijgen?
Alvast mijn dank!!!
Gewijzigd op 01/01/1970 01:00:00 door Mark Beets
Gesponsorde koppelingen:
Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:Gebruik je
knop om dit te doen.
SanThe.
knop om dit te doen.SanThe.



