From e3d5a2ba59b1c93874344acdd4814e4e62f42850 2014-12-16 00:30:23 From: Jonathan Frederic Date: 2014-12-16 00:30:23 Subject: [PATCH] Prevent the page from jumping on tree tab change --- diff --git a/IPython/html/static/tree/js/main.js b/IPython/html/static/tree/js/main.js index 194bd38..2b1f151 100644 --- a/IPython/html/static/tree/js/main.js +++ b/IPython/html/static/tree/js/main.js @@ -140,8 +140,19 @@ require([ }); // set hash on tab click - $("#tabs").find("a").click(function() { - window.location.hash = $(this).attr("href"); + $("#tabs").find("a").click(function(e) { + // Prevent the document from jumping when the active tab is changed to a + // tab that has a lot of content. + e.preventDefault(); + + // Set the hash without causing the page to jump. + // http://stackoverflow.com/a/14690177/2824256 + var hash = $(this).attr("href"); + if(window.history.pushState) { + window.history.pushState(null, null, hash); + } else { + window.location.hash = hash; + } }); // load tab if url hash