NDOJ/templates/feed/feed_js.html
2024-05-29 00:14:42 -05:00

56 lines
No EOL
1.7 KiB
HTML

<script>
window.page = {{page_obj.number}};
window.has_next_page = {{1 if has_next_page else 0}};
window.loading_page = false;
$(function() {
function getQueryParams() {
var queryParams = {};
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
queryParams[pair[0]] = decodeURIComponent(pair[1]);
}
return queryParams;
}
function loadNextPage() {
window.loading_page = true;
var params = {
"only_content": 1,
"page": window.page + 1,
};
params = Object.assign({}, getQueryParams(), params);
$.get("{{feed_content_url}}", params)
.done(function(data) {
$(".has_next").remove();
$(".middle-content").append(data);
window.loading_page = false;
window.has_next_page = parseInt($(".has_next").attr("value"));
window.page++;
renderKatex($('.middle-content')[0]);
onWindowReady();
})
}
$(window).on("scroll", function() {
if (window.loading_page || !window.has_next_page) return;
var distanceFromBottom = $(document).height() - ($(window).scrollTop() + $(window).height());
var isDesktop = window.matchMedia('(min-width: 800px)').matches;
if (isDesktop && distanceFromBottom < 500) {
loadNextPage();
}
});
$(document).on("click", ".view-next-page", () => {
if (window.loading_page || !window.has_next_page) return;
var isDesktop = window.matchMedia('(min-width: 800px)').matches;
if (isDesktop) return;
$(".view-next-page").remove();
loadNextPage();
});
});
</script>