$(document).ready(function() { var dby = 2011; var root = 'https://simakidd.de'; var coord_info = 'https://coord.info/'; var rowsGET = 50; var rowOffset = 40; var rowDetect = 0; var rowCount; var offset; var rowALL = 0; var app = ''; var processing; function log(txt) { $("#log").html("location : " + txt + " px") } function request (rowsGET,rowCount) { console.log(rowsGET+'+'+rowCount+'+'+rowALL); if((rowALL-rowCount)>rowCount) { offset = rowCount; } else { offset = (rowALL-rowCount); } console.log(offset); return $.ajax({ type: 'GET', url: root+'/geocaching/_web_includes_/ajax/geocaches.ajax.php', contentType: 'application/json', dataType: 'json', data: { year: dby, rows: rowsGET, offset: rowCount }, success: function(data, textStatus, request) { console.log('SUCCESS: '+data+'|'+textStatus); if(textStatus=='success') { console.log(data); } else { alert('SUCCESS, aber Antwort NICHT OK'); } }, error: function (request, textStatus, errorThrown) { alert('ERROR: '+textStatus); } }); } function insert (rowsGET,rowCount) { processing = true; console.log(rowsGET+'--'+rowCount); var req = request(rowsGET,rowCount); req.done(function (data) { //console.log(req.responseText); //console.log(req.responseJSON); rowALL = req.responseJSON[0]; //console.log('req.responseJSON: '+req.responseJSON); //console.log('req.responseJSON.length: '+req.responseJSON.length); for(i=1; i'; app += ''; app += ''; app += ''+req.responseJSON[i][2]+''; app += ''; app += ''; app += ''+req.responseJSON[i][4]+''; app += ''; app += ''; app += ''+req.responseJSON[i][5]+''; app += ''; app += ''; app += ''+req.responseJSON[i][6]+''; app += ''; app += ''; app += req.responseJSON[i][7]; app += ''; app += ''; app += req.responseJSON[i][8]; app += ''; app += ''; } $('tbody').append(app); app = ''; processing = false; }); } // INITIAL Load ... rowCount = ($('tbody tr').length); if(rowCount===0) { console.log('rowCount ist ' + rowCount); insert(rowsGET,rowCount); } $(window).scroll(function() { rowCount = ($('tbody tr').length); console.log(rowCount); var rowCall = rowCount - rowOffset; var eTop = $('tbody tr:eq('+rowCall+')').offset().top; //get the offset top of the var rowCallPOS = eTop - $(window).scrollTop(); log(rowCall+' is on Pos: '+rowCallPOS); // Control for Ajax if (processing) { return false; } // if trigger reached, send an Request if(rowCallPOS