Do something after function is complete
Ik heb een pagina gemaakt met 10 items uit mijn database en wanneer de pagina helemaal beneden aan het document is dan worden er 10 nieuwe items geladen en onderaan de pagina bijgevoegd. Dit blijft zich net zo vaak herhalen tot er geen items meer zijn.
Dit werkt prima tenzij het een keer even duurt voordat de items uit de database zijn geladen. Het scrollpunt blijft dan onderaan de pagina staan en blijft iedere keer 10 items onderaan bijvoegen en dit zijn soms heel veel items in een keer.
Ik wil dus dat de tweede Ajax post pas gebeurd wanneer LoadNewsPage(); echt items heeft geladen en weergeven want dan is de bodem van mijn pagina veranderd.
Iemand een idee?
Dit werkt prima tenzij het een keer even duurt voordat de items uit de database zijn geladen. Het scrollpunt blijft dan onderaan de pagina staan en blijft iedere keer 10 items onderaan bijvoegen en dit zijn soms heel veel items in een keer.
Ik wil dus dat de tweede Ajax post pas gebeurd wanneer LoadNewsPage(); echt items heeft geladen en weergeven want dan is de bodem van mijn pagina veranderd.
Iemand een idee?
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
30
31
32
33
34
35
36
37
38
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
function LoadNewsPage() {
// Load Newspage
var sessionlang = localStorage.getItem('Lang');
var sessionmeasure = localStorage.getItem('Measurement');
var sessionid = localStorage.getItem('Session');
$.ajax({
type: "POST",
url: url + "/includes/page-news.php",
data: {lang: sessionlang, measure: sessionmeasure, sessionid: sessionid},
success: function(response){
$("#page-news").html(response);
}
});
}
$(".footer-menu-news").click(function() {
LoadNewsPage();
if ($("#page-news").is(":visible")) {
start = 0;
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == $(document).height()) {
var sessionlang = localStorage.getItem('Lang');
var sessionmeasure = localStorage.getItem('Measurement');
var sessionid = localStorage.getItem('Session');
start = start + 10;
var limit = 10;
$.ajax({
type: "POST",
url: url + "/formhandling/show_news.php",
data: {lang: sessionlang, measure: sessionmeasure, sessionid: sessionid, start: start, limit: limit},
success: function(response){
$("#page-news .subbody").append(response);
}
});
}
});
}
});
// Load Newspage
var sessionlang = localStorage.getItem('Lang');
var sessionmeasure = localStorage.getItem('Measurement');
var sessionid = localStorage.getItem('Session');
$.ajax({
type: "POST",
url: url + "/includes/page-news.php",
data: {lang: sessionlang, measure: sessionmeasure, sessionid: sessionid},
success: function(response){
$("#page-news").html(response);
}
});
}
$(".footer-menu-news").click(function() {
LoadNewsPage();
if ($("#page-news").is(":visible")) {
start = 0;
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() == $(document).height()) {
var sessionlang = localStorage.getItem('Lang');
var sessionmeasure = localStorage.getItem('Measurement');
var sessionid = localStorage.getItem('Session');
start = start + 10;
var limit = 10;
$.ajax({
type: "POST",
url: url + "/formhandling/show_news.php",
data: {lang: sessionlang, measure: sessionmeasure, sessionid: sessionid, start: start, limit: limit},
success: function(response){
$("#page-news .subbody").append(response);
}
});
}
});
}
});
Gewijzigd op 12/11/2017 10:37:05 door Danny von Gaal
Hm... een Engelse titel ;-)?
Niet opgelet. In mijn hoofd is het programmeren altijd Engels. xD
Maar ik vraag me dus af hoe je er in javascript/JQuery vanuit kan gaan dat een ajax request voltooid is voor je iets anders kan doen.
Maar ik vraag me dus af hoe je er in javascript/JQuery vanuit kan gaan dat een ajax request voltooid is voor je iets anders kan doen.
Gewijzigd op 12/11/2017 12:28:40 door Danny von Gaal
Gewoon even een vlaggetje hijsen:
Precies, houd bij of je bezig bent.
Thnx, dit lijkt te werken. :)
Ik had ook al eerder wat geprobeerd met een vlaggetje te maken maar kreeg het niet werkend. Ik controleerde toen op het vlaggetje na ipv tegelijkertijd.
Misschien dat ik dat fout deed. thnx
Ik had ook al eerder wat geprobeerd met een vlaggetje te maken maar kreeg het niet werkend. Ik controleerde toen op het vlaggetje na ipv tegelijkertijd.
Misschien dat ik dat fout deed. thnx
Gewijzigd op 15/11/2017 10:45:37 door Danny von Gaal




