You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
1.7 KiB
JavaScript
83 lines
1.7 KiB
JavaScript
|
|
var currentPage = null;
|
|
|
|
function reloadCurrentPage() {
|
|
loadPage(currentPage);
|
|
}
|
|
|
|
function loadPage(page) {
|
|
setMenuItemClass(currentPage, false, "menu-selected");
|
|
currentPage = page;
|
|
setMenuItemClass(currentPage, true, "menu-loading");
|
|
|
|
switchPageDiv(
|
|
true,
|
|
function() {
|
|
requestPage(page);
|
|
}
|
|
);
|
|
}
|
|
|
|
function requestPage(page) {
|
|
$.ajax(
|
|
{
|
|
url: "request/page.php",
|
|
data: { page: page },
|
|
success: function(content) {
|
|
$('#page-div').html(content);
|
|
},
|
|
error: function(xhr, textStatus, errorThrown) {
|
|
var html = "<img src='graphics/status.php?status=" + xhr.status + "' title='error-" + xhr.status + "' /> " + xhr.responseText;
|
|
$('#page-div').html(html);
|
|
},
|
|
complete: function() {
|
|
setMenuItemClass(currentPage, false, "menu-loading");
|
|
setMenuItemClass(currentPage, true, "menu-selected");
|
|
switchPageDiv(
|
|
false,
|
|
function() {}
|
|
);
|
|
}
|
|
}
|
|
);
|
|
}
|
|
|
|
function switchPageDiv(loading, finishFunc) {
|
|
var dx = 20;
|
|
var dy = 10;
|
|
var fadeOutElement = $('#' + (loading ? "page-div" : "page-loading-div"));
|
|
var fadeInElement = $('#' + (loading ? "page-loading-div" : "page-div"));
|
|
|
|
fadeOutElement.animate(
|
|
{
|
|
opacity: 0,
|
|
top: "+="+dy,
|
|
left: "+="+dx
|
|
},
|
|
300,
|
|
function() {
|
|
fadeOutElement.css("display", "none");
|
|
fadeOutElement.css("top", "-=" + dy);
|
|
fadeOutElement.css("left", "-=" + dx);
|
|
fadeInElement.css("top", "-=" + dy);
|
|
fadeInElement.css("left", "-=" + dx);
|
|
fadeInElement.css("display", "block");
|
|
fadeInElement.animate(
|
|
{
|
|
opacity: 1,
|
|
top: "+="+dy,
|
|
left: "+="+dx
|
|
},
|
|
300,
|
|
finishFunc
|
|
);
|
|
}
|
|
);
|
|
}
|
|
|
|
function setMenuItemClass(page, addClass, className) {
|
|
if($('#menu-item-' + page)) {
|
|
$('#menu-item-' + page).toggleClass(className, addClass);
|
|
}
|
|
}
|