Team:TU-Munich/TUM13 ajax.js
From 2013.igem.org
(Difference between revisions)
(45 intermediate revisions not shown) | |||
Line 2: | Line 2: | ||
var links = new Array(); | var links = new Array(); | ||
- | + | var candidates = $('#bodyContent a, #footer-box a').not('.bx-controls a'); | |
- | if ( | + | for (i = 0; i < candidates.length; i++) { |
- | links.push( | + | if ( candidates[i].href.search('https://2013.igem.org/Team:TU-Munich') != -1 && candidates[i].href.search('#') == -1 && candidates[i].href.search('Labjournal') == -1 && candidates[i].href.search('.ph') == -1 ) { |
+ | links.push(candidates[i]); | ||
} | } | ||
} | } | ||
Line 19: | Line 20: | ||
$.ajax({ | $.ajax({ | ||
url: ajaxSrc, | url: ajaxSrc, | ||
- | |||
type: "GET", | type: "GET", | ||
error: function(xhr, status) { | error: function(xhr, status) { | ||
Line 25: | Line 25: | ||
}, | }, | ||
success: function(render) { | 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(); | ajaxReady(); | ||
} | } | ||
}); | }); | ||
+ | overlay = $('<div id="ajax-overlay"><img src="https://static.igem.org/mediawiki/2013/b/b4/TUM13_ajax-loading.gif" /></div>'); | ||
+ | $(overlay).hide(); | ||
+ | $('#wikicontent').append(overlay); | ||
$(window).off('scroll', gotop); | $(window).off('scroll', gotop); | ||
- | $('html').animate({scrollTop : 0},400,'swing',function(){ | + | $('html, body').animate({scrollTop : 0},400,'swing',function(){ |
- | + | ||
$("a#gotop").fadeOut(400); | $("a#gotop").fadeOut(400); | ||
- | |||
}); | }); | ||
+ | $(overlay).fadeIn(400); | ||
} | } | ||
function ajaxStateChange(e) { | function ajaxStateChange(e) { | ||
+ | //alert(History.getState().url); | ||
ajaxLoad(History.getState().url); | ajaxLoad(History.getState().url); | ||
} | } | ||
Line 48: | Line 57: | ||
function ajaxReady() { | function ajaxReady() { | ||
ajaxBinding(); | ajaxBinding(); | ||
+ | myWikiReady(); | ||
} | } |
Latest revision as of 17:22, 28 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 && candidates[i].href.search('.ph') == -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) {
//alert(History.getState().url); ajaxLoad(History.getState().url);
}
History.Adapter.bind(window, 'statechange', ajaxStateChange);
$(document).ready(ajaxBinding);
function ajaxReady() {
ajaxBinding(); myWikiReady();
}