Team:TU-Munich/TUM13 ajax.js
From 2013.igem.org
(Difference between revisions)
Line 8: | Line 8: | ||
} | } | ||
} | } | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
$(links).click(function(e){ | $(links).click(function(e){ | ||
e.preventDefault(); | e.preventDefault(); | ||
- | + | History.pushState(null, this.href.substring(21) + ' - 2013.igem.org', this.href); | |
- | + | ||
- | + | ||
}); | }); | ||
Line 55: | Line 47: | ||
function ajaxStateChange(e) { | function ajaxStateChange(e) { | ||
- | ajaxLoad( | + | ajaxLoad(History.getState().url); |
} | } | ||
- | + | History.Adapter.bind(window, 'statechange', ajaxStateChange); | |
$(document).ready(ajaxBinding); | $(document).ready(ajaxBinding); |
Revision as of 17:00, 25 October 2013
function ajaxBinding() {
var links = new Array(); var candidates = $('#bodyContent a, #footer-box a').not('.bx-controls a'); for (i = 0; i < candidates.length; i++) { if ( candidates[i].href.search('https://2013.igem.org/Team:TU-Munich') != -1 && candidates[i].href.search('#') == -1 && candidates[i].href.search('Labjournal') == -1 ) { links.push(candidates[i]); } }
$(links).click(function(e){ e.preventDefault(); History.pushState(null, this.href.substring(21) + ' - 2013.igem.org', this.href); });
}
function ajaxLoad(url) {
ajaxSrc = url; $.ajax({ url: ajaxSrc, type: "GET", error: function(xhr, status) { window.location = ajaxSrc; }, success: function(render) { oldContent = $('#wikicontent').children().not('#ajax-overlay'); newContent = $(render).find('#wikicontent').children(); $('#top-section').replaceWith($(render).find('#top-section')); $(oldContent).remove(); $('#wikicontent').prepend(newContent); $('#ajax-overlay').fadeOut(400, function(){ $('#ajax-overlay').remove(); }); ajaxReady(); } });overlay = $('
<img src="" />
');
$(overlay).hide(); $('#wikicontent').append(overlay); $(window).off('scroll', gotop); $('html, body').animate({scrollTop : 0},400,'swing',function(){ $("a#gotop").fadeOut(400); }); $(overlay).fadeIn(400);
}
function ajaxStateChange(e) {
ajaxLoad(History.getState().url);
}
History.Adapter.bind(window, 'statechange', ajaxStateChange);
$(document).ready(ajaxBinding);
function ajaxReady() {
ajaxBinding(); myWikiReady();
}