auto-reload.js: tweak timeouts, so now it gets new posts even if not at bottom

This commit is contained in:
czaks 2013-12-23 16:34:44 +01:00
parent 6620c10b7b
commit 42ae3550f9

View File

@ -22,6 +22,8 @@ $(document).ready(function(){
var poll_interval; var poll_interval;
var end_of_page = false;
var poll = function() { var poll = function() {
$.ajax({ $.ajax({
url: document.location, url: document.location,
@ -36,19 +38,21 @@ $(document).ready(function(){
} }
}); });
poll_interval = setTimeout(poll, 5000); clearTimeout(poll_interval);
poll_interval = setTimeout(poll, end_of_page ? 3000 : 10000);
}; };
$(window).scroll(function() { $(window).scroll(function() {
if($(this).scrollTop() + $(this).height() < $('div.post:last').position().top + $('div.post:last').height()) { if($(this).scrollTop() + $(this).height() < $('div.post:last').position().top + $('div.post:last').height()) {
clearTimeout(poll_interval); end_of_page = false;
poll_interval = false;
return; return;
} }
if(poll_interval === false) { clearTimeout(poll_interval);
poll_interval = setTimeout(poll, 1500); poll_interval = setTimeout(poll, 100);
} end_of_page = true;
}).trigger('scroll'); }).trigger('scroll');
poll_interval = setTimeout(poll, 3000);
}); });